Я хочу, чтобы результаты поиска из SOLR были упорядочены следующим образом:
Все документы с одинаковой оценкой будут упорядочены по дате добавления.
Поэтому, когда я запрашиваю solr, у меня будет n документов. В этом наборе результатов будут группы документов с одинаковым баллом. Я хочу, чтобы каждый из этой группы документов был упорядочен по дате добавления.
Я обнаружил, что могу выполнить это с помощью функциональных запросов, точнее, с помощью rord
функции http://wiki.apache.org/solr/FunctionQuery#rord, но как указано в документации
ПРЕДУПРЕЖДЕНИЕ: начиная с Solr 1.4, ord() и rord() могут вызывать избыточное использование памяти, поскольку они должны использовать запись FieldCache на верхнем уровне чтения, в то время как сортировка и запросы функций теперь используют записи на уровне сегмента. Следовательно, сортировка или использование другого функционального запроса в дополнение к ord()/rord() удвоит использование памяти.
это приведет к избыточному использованию памяти.
Какие еще варианты у меня есть?
Я думал использовать recip(ms(NOW,startTime),1,1,0)
. Это лучший подход?
Есть ли негативное влияние на производительность, если я использую recip и ms?