Вопрос

Я не могу выяснить, как найти подстроки спичек с Solr, я понял матчи на основе префикса, поэтому я могу получить ветчину, чтобы соответствовать гамбургеру.

Как бы я получил поиск «бургера», чтобы соответствовать гамбургеру? Я попытался бургер Но это бросило ошибку «*» или «?» Не допускается как первый персонаж в подстановочной кладке.

Как я могу соответствовать подстрадателям, используя Solr?

Это было полезно?

Решение

Вы можете включить это, но это будет очень ресурс голоден (например, поиск суффикса).

Видеть: http://lucene.472066.n3.nabilb.com/leading-wildcard-search-td522362.html.

Цитируя список рассылки:Работают вокруг? Представьте, что вы делаете второй индекс (или добавление другого поля) со всеми терминами, написанными задом наперед.

=>

Смотрите Add ReversestringFilter https://issues.apache.org/jira/browse/lucene-1398.

и поддержка эффективного поиска ведущих подстановочных знаков: https://issues.apache.org/jira/browse/solr-1321.

На данный момент номера .apache.org кажется вниз. Попробуйте использовать, например, кэш Google.

Другие советы

Если кто -то заканчивается здесь после поиска «подстроки апачелр», есть более простое решение для этого: https://drupal.stackexchange.com/a/27956/10419 (от https://drupal.stackexchange.com/questions/26024/how-can-i-make-search-with-s-substring-of-a-word.)

Добавьте NGRAMFILTER в определение типа текста в Schema.xml в каталоге Config Solr.

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="25" />

Как указывалось ранее в связь Вы можете использовать ведущие подстановочные знаки с Edismax (ExtendedDismaxqParser). Просто попробуйте посмотреть, достаточно ли достаточно быстро.

Некоторые дополнительные данные о вышеупомянутой реверсировании также можно найти здесь: solr.reversedwildcardfilterfactory

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top