Настройка поиска близости SOLR - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть некоторые адресные данные, которые мне нужно искать.Я немного борюсь с поиском близости.

Например.адрес, который я пытаюсь найти:

CATO STREET WEST LAUNCESTON TAS

, и мой поисковый запрос для поиска близости не возвращает ничего, когда я пытаюсь найти (CATO WEST) ~2

Конфигурация для поля данных (schema.xml) выглядит следующим образом:

<field name="street_name_space" type="text_general" indexed="true" stored="true"/>

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

Обработчик запроса выглядит следующим образом:

<requestHandler name="/proximity" class="solr.SearchHandler">
     <lst name="defaults">
     <str name="defType">edismax</str>
        <str name="echoParams">explicit</str>
        <str name="qf">street_name_space</str>
        <str name="qs">10</str>
        <str name="pf">street_name_space</str>
        <str name="ps">10</str>
       <str name="echoParams">explicit</str>
       <str name="fl">street_name, street_name_clean, street_name_space</str>          
     </lst>
    </requestHandler>

Любое представление о том, что ябудете делать, чтобы получить результаты?

1 Ответ

0 голосов
/ 19 сентября 2018

KeywordTokenizerFactory, которую вы используете, хранит все это как один термин, поэтому единственный индексируемый термин - это «Cato Street West Laceceston TAS».Конечно, это не соответствует вашему запросу.

Используйте другой токенайзер, например WhitespaceTokenizerFactory , и он должен работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...