Solr синтаксис для фразы запроса - PullRequest
0 голосов
/ 05 июля 2018

У меня есть поле с определением:

"replace-field": {
    "name":"search_words",
    "type":"lowercase",
    "stored":true,
    "indexed": true,
    "multiValued": true
}

, который содержит предложения в виде массива (таким образом, multiValued: true):

"id":500
"search_words":["How much oil should you pour into the engine",
          "How important is engine oil?]

Как мне создать запрос, который будет возвращать этот документ (с id = 500), когда пользователь вводит фразу "моторное масло"? С однократными запросами я могу использовать *engine*, и он обнаружит, что документ, потому что engine находится в середине предложения, но я не могу найти способ найти фразы в предложениях. Возможно ли даже использовать solr?

1 Ответ

0 голосов
/ 05 июля 2018

Solr поддерживает поиск по фразе и предназначен для этого. Поиски с подстановочными символами на самом деле не подходят для использования Solr по умолчанию - тип поля должен указывать Solr, как обрабатывать текст в поле, чтобы получать хиты при его регулярном запросе.

В этом случае стандартный text_en, вероятно, будет работать нормально, или определение поля с помощью стандартного токенизатора и фильтра нижнего регистра (и, возможно, WordDelimiterGraphFilter для избавления от специальных символов).

Тогда запрос будет search_words:"engine oil".

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