2015-08-06 4 views
0

Есть ли какая-либо конфигурация Solr, которая, когда поисковый запрос является просто стоп-словом, не рассматривает его как стоп-слово и находит соответствующие документы. , например.Вопросы удаления Solr Stopwords

  • , если запрос альфа и бета, он рассматривается как альфа-бета
  • , если запрос и, он рассматривается как и (как запрос содержит только стоп-слова/с)

На данный момент я не рассматриваю точное совпадение фразы.

+0

удалите stopwordfilterfactory из вашего поля. Тип ... при индексировании и запросе ... –

+0

в этом случае в альфа-и бета-версии, solr будет искать «и» как отдельный токен. и я не хочу этого, так как получаю много результатов из-за отдельных стоп-слов. – eliya

+0

, то используйте строку в качестве filedType, чтобы она учитывала один токен –

ответ

3

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

Вы можете сделать это, имея два разных определения полей (text_with_stopwords и text_without_stopwords) с различными цепочками анализатора.

Запросите и пополните поля по-разному, используя qf=text_wosw^2 text_wsw, и проиндексируйте один и тот же контент в обоих полях, используя директиву copyField.

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

Смежные вопросы