クエリを使用して検索するとaddr:s*
わかりました...(これはダミーデータです)
addr=someword
addr=banana-sunny.or
addr=seventy
addr=salvation
で始まるレコードのみが必要ですs
が、結果の 2 番目のレコードは で始まりb
ます。
クエリを使用して検索するとaddr:s*
わかりました...(これはダミーデータです)
addr=someword
addr=banana-sunny.or
addr=seventy
addr=salvation
で始まるレコードのみが必要ですs
が、結果の 2 番目のレコードは で始まりb
ます。
おそらく、住所フィールドにテキスト分析を使用して、単語を複数のトークンに分割しています。
その場合、「banana-sunny」という単語が複数のトークン (banana、sunny、または ) に分割される可能性があります。
したがって、s* を検索すると、結果が返されます。
分割したくない場合は、KeywordTokenizerFactory およびその他のフィルターを使用して新しいフィールド タイプを定義します。例えば
<fieldType name="text_string" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>