Поиск по одной фразе, чтобы избежать появления в Solr

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

Есть ли простой способ добиться этого?

2 ответа

Решение

Существует простой способ, если вы имеете в виду "отстой" (требуемое сходство) как часть нечеткого поиска (см. Синтаксис запроса Lucene здесь).

Например, если я выполню этот поиск:

 q=field_name:determine

Я вижу результаты, которые содержат "определить", "определение", "определено" и т. Д. Если я затем изменю запрос следующим образом:

 q=field_name:determine~1

Я вижу только результаты, которые содержат слово "определить". Это потому, что я указываю обязательное сходство 1, что означает "точное соответствие". Я могу указать это значение от 0 до 1.

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

Другие вопросы по тегам