3

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を構成する方法です。ここに私の具体的な質問があります:

  1. 同様のタイトルをクエリしようとしているときに、dismax クエリ パーサーを使用する意味はありますか?
  2. (Minimum 'Should' Match)パラメーターは、類似のタイトルを見つけるのにどのように役立ちますか?
  3. 正確に何に基づいてngram minを選択しますか。そして最大。サイズ?

フィードバックをお寄せいただきありがとうございます。

4

1 に答える 1