文字列で始まるフィールドでドキュメントをフィルタリングするにはどうすればよいですか? フィールドには、この文字列で始まる単語がすべて含まれています。最善の結果は、フィルタに最も近い順序で並べ替えるなど、最初に結果から正確な開始を得る方法と、次に残るような回答がある場合です。ありがとう。
ように:Solr 6.4.2、startswith文字列でドキュメントをフィルタリングする
company_name:(max*) result : ['Min & Max', 'Maximum speed', 'Mirana max parrot']
しかし、私はそれが好きたい:
company_name:(max*) result : ['Maximum speed', 'Min & Max', 'Mirana max parrot']
今私はテキストフィールドのこの設定を持っている:
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>