Будет ли SOLR выполнять сопоставление по названию улицы? - PullRequest
0 голосов
/ 02 октября 2018

У меня есть запрос на соответствие названия улицы в SOLR.

Фактическое название улицы для сопоставления - POTTS ROAD EVANSFIELD VIC.Я сохранил данные в трех полях:

street_name_clean : POTTSROADEVANSFIELDVIC
street_name_space : POTTS ROAD EVANSFIELD VIC
street_name : POTTS, ROAD, EVANSFIELD, VIC

Причина хранения данных как таковых заключается в том, что я могу выполнять точный поиск, нечеткий поиск, поиск ngram, сопоставление проксимити и т. Д.

Я вижу случай, когда пользователь вводит POTTROAD (отсутствует S в фактическом названии улицы), и все мои поиски заканчиваются неудачей.

Есть ли метод, позволяющий сопоставить POTTROAD с данными выше?Любая помощь приветствуется.

1 Ответ

0 голосов
/ 05 октября 2018

Благодаря предложению @MatsLindh я реализовал ShingleFilter следующим образом:

<fieldType name="text_general_shingle" class="solr.TextField">
    <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ShingleFilterFactory" maxShingleSize="4" outputUnigrams="false"/>
        <filter class="solr.PatternReplaceFilterFactory" pattern="(\s+)" replacement="" replace="all" />
    </analyzer>
</fieldType>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...