SOLR EdgeNGramFilterFactory с точным поиском

Я внедрил EdgeNgram в мой text поле, схема

 <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.LowerCaseFilterFactory"/>
        <!-- to do partial search -->
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="50" side="front"/>
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="50" side="back"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

а также text поле <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

Все поля копируются в это text поле.

Теперь проблема до того, как я добавил EdgeNGramFilterFactotyq="This Organization" давал мне 1 результат, но частичный поиск как q=thi не дал мне никакого результата,

Но с добавлением EdgeNGramFilterFactoty q=thi дает мне один результат, но q="This Organization" (Точный поиск с NGram) перестал работать - результата не дает. Есть ли способ заставить оба работать?

0 ответов

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