Поиск по одной фразе, чтобы избежать появления в Solr
В моем экземпляре Solr я включил использование стволов, я предполагал, что для точного поиска слова без отключения стволов это будет так же просто, как поместить слово в кавычки. Это, однако, не похоже на дело?
Есть ли простой способ добиться этого?
2 ответа
Существует простой способ, если вы имеете в виду "отстой" (требуемое сходство) как часть нечеткого поиска (см. Синтаксис запроса Lucene здесь).
Например, если я выполню этот поиск:
q=field_name:determine
Я вижу результаты, которые содержат "определить", "определение", "определено" и т. Д. Если я затем изменю запрос следующим образом:
q=field_name:determine~1
Я вижу только результаты, которые содержат слово "определить". Это потому, что я указываю обязательное сходство 1, что означает "точное соответствие". Я могу указать это значение от 0 до 1.
Еще одна вещь, которую вы можете сделать - это индексировать один и тот же текст, не вставляя в одну строку, а вставляя в другую. Повысьте необоснованное поле, которое должно отдавать предпочтение точным версиям слов по сравнению с основанными на словах версиями. Конечно, вы также можете написать свой собственный синтаксический анализатор запросов, который направляет фразы в кавычках только в необоснованное поле.