Solr: нормализовать поле даты - PullRequest
0 голосов
/ 30 мая 2018

Я новичок в apache solr и изучаю некоторые варианты использования, которые потенциально могут быть применимы для моего приложения.В одном из вариантов использования у меня есть несколько экземпляров mongodb, которые отправляют данные в solr через mongo-разъем.Я могу сделать это, запустив два экземпляра монго-коннектора с двумя разными экземплярами монго и используя одно и то же ядро ​​solr.

Мой вопрос: как мне справиться с ситуацией, когда у меня есть поле в коллекции монгоскажем "startTime", который имеет тип Date в одном экземпляре mongo, а другой обрабатывает его как долго.Я хочу, чтобы это поле обрабатывалось как длинный тип в solr.Обеспечивает ли solr автоматическое преобразование, или мне придется написать свой анализатор?

1 Ответ

0 голосов
/ 31 мая 2018

Если вы хотите, чтобы оба значения нормализовались в одной и той же форме, вы должны сделать это в UpdateRequestProcessor (, определенный в solrconfig.xml ).Существует их довольно много для различных целей, включая разбор дат.Фактически, режим без схемы реализован цепочкой URP, так что это пример, который вы можете просмотреть .

Чтобы по-разному обрабатывать разные экземпляры Mongo, вы можете просто определить отдельные Обработчик запросов на обновление конечных точек (снова в solrconfig.xml) и настроить для них различную обработку.Используйте общие определения, чтобы избежать дублирования общих характеристик (используя ссылку процессор , как в приведенном выше определении без схемы).

Может оказаться более полезным нормализовать даты, а не вернуться к датам, поскольку Solrпозволяет более интересные поиски, такие как Date Math .

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