Solr で (Rails で Sunspot を使用して) NGramFilterFactory を使用して、同様のタイトルを見つけようとしています。次のように、solr schema.xml に新しいフィールドを追加することができました。
<fieldType name="text_ngrm" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="4"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Railsアプリでsunpsotを使用しているため、動的フィールドを介して新しいフィールドをsunspotに追加しました。これはすべて機能し、NGramFilterFactory を使用してモデルを検索できるようになりました。よくわからないのは、同様のタイトルを検索するためにsolrを構成する方法です。ここに私の具体的な質問があります:
- 同様のタイトルをクエリしようとしているときに、dismax クエリ パーサーを使用する意味はありますか?
- (Minimum 'Should' Match)パラメーターは、類似のタイトルを見つけるのにどのように役立ちますか?
- 正確に何に基づいてngram minを選択しますか。そして最大。サイズ?
フィードバックをお寄せいただきありがとうございます。