Тильда была проигнорирована в edismax при обновлении до Solr 6 - PullRequest
0 голосов
/ 28 августа 2018

У меня есть это поле

 <field name="searchContentEn" type="ft_normalised_en" indexed="true" multiValued="true" stored="true" termVectors="true"/>
 <fieldtype name="ft_normalised_en" class="solr.TextField">
      <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory"/>
           <filter class="solr.ASCIIFoldingFilterFactory"/>
           <filter class="solr.LowerCaseFilterFactory"/>
           <filter class="solr.StopFilterFactory" words="stopwords_en.txt" ignoreCase="true"/>
           <filter class="solr.PorterStemFilterFactory" />
           <filter class="solr.ShingleFilterFactory" maxShingleSize="2" outputUnigrams="true"/>
     </analyzer>
 </fieldtype>

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

<requestHandler name="/searchEn" class="solr.SearchHandler">
        <lst name="defaults">
            <!-- Query -->
            <str name="defType">edismax</str>
            <str name="q.op">AND</str>
            <str name="qf">searchContentEn</str>

            <!--Spellchecker -->
            <str name="spellcheck">true</str>
            <str name="spellcheck.dictionary">defaultEn</str>

            <str name="spellcheck.count">3</str>
            <str name="spellcheck.extendedResults">true</str>
            <str name="spellcheck.collate">true</str>
            <str name="spellcheck.collateExtendedResults">true</str>
            <str name="spellcheck.maxCollationTries">5</str>
            <str name="spellcheck.maxCollations">3</str>
        </lst>
        <arr name="last-components">
            <str>spellcheckEn</str>
        </arr>
    </requestHandler>

При запуске поиска, parsedquery показывает, что ~ почему-то игнорируется

"debug": {
    "rawquerystring": "\"name and description\"~6",
    "querystring": "\"name and description\"~6",
    "parsedquery": "(+(+DisjunctionMaxQuery((searchContentEn:name and descript))))/no_coord",
    "parsedquery_toString": "+(+(searchContentEn:name and descript))",
    "explain": {},

Эта проблема возникает только в Solr6. На Solr 4.4.0 ~ использовался как ожидалось

...