私は「サマラ」、「サミール」、または「サミュエル」のような部分文字列としてクエリを含む「SAM」文書を照会するとき、私は、何らかの理由で、名前検索と協力していますは一見等しい重量で返されます。部分文字列として含まれている結果ではなく、solrの正確なクエリテキストに重大な重みを付けるにはどうすればよいですか?
これはSolrの組み込み機能で、検索語を含む文字列をサブストリングとして解析できますか?正確なクエリ自体に大きな重みを付けてから代替案に移行する方法はありますか?
元のテキストを同義語よりも重く重み付けするためにすでに2つの別々の文字を持っていますが、この部分文字列の問題を回避する方法はわかりませんでした。ここで
は私FIELDTYPE定義です:
<fieldType class="solr.TextField" name="fullTextName" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
すべてのヘルプは本当にいただければ幸いです。
を私はあなたがこれらの二つの別々のフィールドに提案するものでしたが、私は 'exactName'フィールドに「クエリフィールド」(1付きに指定した場合でもthough--混乱しています'EdgeNgramFilter'もありません)私は依然として部分文字列にマッチした文書にヒットしました。 q = samのように、結果はsamirかもしれません。私は何か他のものを逃すことができますか?ありがとう! – Sam
ここで、exactNameに使用したfieldTypeのfieldType定義を投稿できますか? このフィールドタイプには、エッジNgramトークンフィルタリングを使用しないでください。 –
私は投稿にそれを含めました – Sam