Я получаю сообщение об ошибке «rord () не поддерживается для поля на основе точек» в SOLR 7.5. Как это исправить? - PullRequest
0 голосов
/ 15 января 2020

Для повышения цели в SOLR 7 я использую функцию

recip(rord({dateField}),1,1000,1000)

Но получаю ошибку в SOLR, что

rord () не поддерживается над полем на основе точек

Как решить эту проблему в SOLR 7. Однако в SOLR 6.5 он работает нормально, как и в схеме. xml dateField является экземпляром TriDateClass.

1 Ответ

0 голосов
/ 15 января 2020

Используйте ms, чтобы получить значение миллисекунды для поля даты вместо его позиции в обратном порядке в индексе. Он работает как с точечными полями, так и с полями Tr ie.

мс Функция

Возвращает миллисекунды разницы между своими аргументами. Даты относятся к эпохе Unix или POSIX, полночь, 1 января 1970 г. UT C.

Например, recip(ms(NOW, last_modified), 3.16e-11, 1, 1). Вы также можете изменить NOW на дату c, которая меняется каждый день, чтобы улучшить кэширование вашего запроса .-

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...