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
поле.
Теперь проблема до того, как я добавил EdgeNGramFilterFactoty
q="This Organization"
давал мне 1
результат, но частичный поиск как q=thi
не дал мне никакого результата,
Но с добавлением EdgeNGramFilterFactoty
q=thi
дает мне один результат, но q="This Organization"
(Точный поиск с NGram) перестал работать - результата не дает. Есть ли способ заставить оба работать?