Как сопоставить под часть или супер часть предложения в solr - PullRequest
0 голосов
/ 28 ноября 2018
  • Я установил Solr 7,5
  • Индексируемые несколько данных, как в формате ниже, с API

    { "id":"doc_21", "contact":[9999999999], "description":"description goes here", "address":"address goes here", "rank":26, "business_id":21, "thumbs_down":1, "keywords":["web designer in New York", " web designer"], "title":"sample title" }

Теперь, если я ищу с помощью

q:"keywords:\"best web designer in New York\""

, я не получаю никакой записи, потому что best отсутствует ни в одной записи.

Но я хочу, чтобы это былодолжно сначала соответствовать точному ключевому слову, тогда это должно обеспечить менее соответствующую запись.например, если я ищу по ключевому слову лучший веб-дизайнер в Нью-Йорке , тогда solr также должен вернуть веб-дизайнер в Нью-Йорке , веб-дизайнер в Нью-Йорке , дизайнер в Нью-Йорке , в Нью-Йорке в порядке актуальности.

Спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

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

Вы можете использовать параметр mm , чтобы сообщить Solr, что должно совпадать как минимум 70% терминов в вашем запросе:

Добавить &mm=70% к строке запроса (и используйте синтаксические анализаторы запросов dismax или edismax):

Процент

70%

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

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