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