Я создаю приложение с использованием CoreData, которое потребует от меня сохранить массив чисел с плавающей запятой для экземпляров сущности, а затем извлечь выборку этих сущностей в порядке (скажем) манхэттенского расстояния между соответствующими матрицами.
Вот примерная схема чего-то вроде того, что я имею в виду:
Entity: {
name: 'instance 1',
data: [ 0.1, 0.2, 0.1, 0.1, 0.05, ... ]
},
Entity: {
name: 'instance 2',
data: [ 0.4, 0.9, 0.1, 0.1, 0.02 ... ] // want to sort using this data
}
Я знаю, что можно использовать «трансформируемый» атрибут для «данных» и кодировать NSArray, но я не верю, что возможно использовать содержимое этого массива в запросах на выборку или сортировку.
Итак, мой вопрос: какие варианты у меня есть, чтобы построить это? Можно ли как-то расширить CoreData, чтобы я мог выполнять векторные вычисления как часть запроса 'fetch'? Или мне придется загружать каждый объект в память, а затем сортировать вручную? ..
В конечном итоге я пытаюсь найти наиболее эффективный вариант, потому что я рассчитываю иметь дело с тысячами экземпляров, каждый из которых имеет вектор признаков из 10-20 элементов.
Любые предложения относительно возможной архитектуры здесь будут оценены новичком CoreData; -)
Пожалуйста, дайте мне знать, если я не сформулировал это достаточно четко, и я попытаюсь уточнить.