solr shingleFilterFactory не работает

Недавно я перешел с Solr 4 на 6.

В Solr 4 shinglefilterfactory работает правильно, моя конфигурация

    <fieldType name="text_shingle" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
         <tokenizer class="solr.WhitespaceTokenizerFactory"/>
         <filter class="solr.ShingleFilterFactory" minShingleSize="2" maxShingleSize="5"
                 outputUnigrams="false" outputUnigramsIfNoShingles="false" />
          <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>
        <analyzer type="query">
          <tokenizer class="solr.WhitespaceTokenizerFactory"/>
         <filter class="solr.ShingleFilterFactory" minShingleSize="2" maxShingleSize="5"
                 outputUnigrams="false" outputUnigramsIfNoShingles="false" />
          <filter class="solr.LowerCaseFilterFactory"/>
          <filter class="solr.PositionFilterFactory"/>
        </analyzer>
      </fieldType>

Но после обновления до Solr 6 черепица не работает, схема, как показано ниже,

        <fieldType name="text_shingle" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
         <tokenizer class="solr.WhitespaceTokenizerFactory"/>
         <filter class="solr.ShingleFilterFactory" minShingleSize="2" maxShingleSize="5"
                 outputUnigrams="false" outputUnigramsIfNoShingles="false" />
          <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>
        <analyzer type="query">
          <tokenizer class="solr.WhitespaceTokenizerFactory"/>
         <filter class="solr.ShingleFilterFactory" minShingleSize="2" maxShingleSize="5"
                 outputUnigrams="false" outputUnigramsIfNoShingles="false" />
          <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>
      </fieldType>

Хотя на вкладке Анализ показывался правильный результат гальки, но при использовании в queryParser он не давал правильных результатов.

Мой выборочный хит

http://localhost:8983/solr/shingel_test/select?q=one%20plus%20one&wt=xml&debugQuery=true&defType=edismax&qf=cust_shingle

Создает проанализированный запрос как:

<str name="rawquerystring">one plus one</str>
<str name="querystring">one plus one</str>
<str name="parsedquery">(+())/no_coord</str>
<str name="parsedquery_toString">+()</str>
<lst name="explain"/>
<str name="QParser">ExtendedDismaxQParser</str>

0 ответов

Другие вопросы по тегам