0

Lucene.netでは解決できないと思われる問題が発生しました。オートコンプリートフィールドにはLucene.netを使用しており、検索された単語で始まるヒットをリストの一番上に表示し、その他のヒットを下に表示したいと考えています。

基本的に、私が欲しいのは、検索された単語から始まる検索結果が、ある種のブーストを取得して、一番上に表示されることです。

CustomScoreProviderとCustomScoreQueryを確認しましたが、それを使用して目的の操作を行う方法が想像できず、実装方法の良い例がありません。しかし、おそらく私は間違ったツリーに吠えています。これは、プロパティなどを設定することによって実装される可能性が最も高いのと同じくらい些細なことです。

4

1 に答える 1

1

スコアリング アルゴリズムを変更する代わりにクエリを変更することで、この問題に対処できます。

したがって、クエリは次のようになります。

Field:(this is a piece of text)

になります:

Field:"this is a piece of text*"^2 OR Field:(this is a piece of text)
于 2013-01-10T01:59:27.110 に答える