スキーマファイルの構成で EdgeNGramFilterFactory を使用します
<fieldType name="prefix_token_text" class="solr.TextField" positionIncrementGap="1">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="20" side="front" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
スキーマに 8 つのフィールドがあります。私は設定を持っています
<field name="text" type="prefix_token_text" indexed="true" stored="false" multiValued="true"/>
と
<copyField source="AccountName" dest="text" />
私のデータインデックスは約3億です。
私が検索した場合
sanosuke
次のような結果が得られます
sanosuke3
sanosuke2
sanosuke1
sanosuke
sanosukebn
sanosukeqns
......
その上に結果左之助が欲しい。なぜそうなのですか?助けて。皆さんありがとう :)