4

Lucene.Net 3.0.3 でフィールドをブーストしたい。ただし、SetBoost メソッドは Lucene で定義されていないようです。フィールドを後押しするにはどうすればよいですか。たとえば、ドキュメントの「タイトル」を残りのフィールドよりも重視したい場合はどうすればよいですか?

4

1 に答える 1

8

インデックス時間または検索時間でフィールドをブーストできます。インデックス時間でフィールドをブーストするには、次のように設定できます。

 Field titleField = new Field("title", strTitle, Field.Store.NO, Field.Index.ANALYZED);
 titleField.Boost = 2;

 doc.Add(titleField);

OmitNorms を false に設定する必要があることに注意してください。

検索時間のフィールドをブーストするには、次のように設定できます。

  TermQuery q = new TermQuery(new Term("title", "cat"));
  q.Boost = 2;

  _searcher.Search(q, 100);
于 2013-04-15T06:21:51.477 に答える