Поиск по одной фразе, чтобы избежать появления в Solr - PullRequest
3 голосов
/ 02 июня 2011

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

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

Ответы [ 2 ]

9 голосов
/ 02 июня 2011

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

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

 q=field_name:determine

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

 q=field_name:determine~1

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

3 голосов
/ 04 июня 2011

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

...