Edgengram в solr не сохраняя слова меньше чем minGramSize - PullRequest
0 голосов
/ 22 ноября 2018

Для своего сайта я использую solr для typeahead solution.Я использую приведенный ниже тип поля для хранения данных в поле, в котором будет работать typeahead:

<fieldType name="text_suggest" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
      <tokenizer class="solr.WhitespaceTokenizerFactory"/>
      <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
      <filter class="solr.LowerCaseFilterFactory"/>
      <filter class="solr.EdgeNGramFilterFactory" maxGramSize="8" minGramSize="2"/>
    </analyzer>
    <analyzer type="query">
      <tokenizer class="solr.WhitespaceTokenizerFactory"/>
      <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
      <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
  </fieldType>

Но проблема с вышеуказанным типом поля заключается в том, что он не сохраняет слова, которые меньше 2.

Скажите, я хочу найти "iphone 5".Итак, если я набираю «iph», он работает нормально, но когда я набираю «iphone 5», я не получаю результата.Понятно, что я токенизирую, а затем использую ребро ngram, поэтому при минимуме из 2 букв «5» будет игнорироваться.Можно ли как-нибудь сохранить слова из одной буквы?

Как мне решить эту проблему?

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