Solr использовать результат поиска первого запроса в качестве индекса для второго запроса - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть индекс Solr, который состоит из 10 полей. Они приведены ниже.

firstname, lastname, middlename, dob, gender, phone, email, address, city, state

Индекс состоит из примерно 10 млн записей. Я пытаюсь найти лучшее соответствие для некоторых входящих записей. Предположим, что одна такая входящая запись похожа на приведенную ниже.

John, Smith, P, 19980923, M, 9896574300, john@jj.com, James Street, Houston, TX

Итак, мой запрос Solr приведен ниже.

firstname:John OR lastname:Smith OR middlename:P OR dob:19980923 OR gender:M OR phone:9896574300 OR email:john@jj.com OR address:"James Street" OR city:Houston OR state:TX

Проблема в том, что запрос занимает время, хотя я ограничиваю результирующий набор только в топ-100. Это связано с тем, что большинство записей имеют значение состояния TX, а город - также Хьюстон, и из-за этого Solr требуется время для ранжирования и сортировки всех этих записей.

Моя цель - уменьшить количество результатов, возвращаемых Solr запрос. Итак, сначала я хотел бы использовать приведенный ниже запрос

firstname:John OR lastname:Smith OR middlename:P OR dob:19980923 OR phone:9896574300 OR email:john@jj.com OR address:"James Street"

. В приведенном выше случае он возвращает только минимальное количество записей, и в дополнение к этому я хотел бы выполнить фактический запрос, как показано ниже, чтобы он возвращал наиболее релевантный запись сверху

firstname:John OR lastname:Smith OR middlename:P OR dob:19980923 OR gender:M OR phone:9896574300 OR email:john@jj.com OR address:"James Street" OR city:Houston OR state:TX

Возможно ли добиться этого за один запрос? Использование условия ИЛИ может извлечь все записи, поэтому я хочу получить только минимальное количество записей на основе нескольких значений полей, а затем применить фактический запрос поверх него

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