SolrNetを使用して、「タグ」と呼ばれる複数値フィールドがあるSolrインデックスにアクセスしています。次の擬似コードクエリを実行したい:
(tags:stack)^ 10 OR(tags:over)^ 5 OR(tags:flow)^ 2
ここで、「スタック」という用語は10ブーストされ、「オーバー」は5ブーストされ、「フロー」は2ブーストされます。私が求めている結果は、「スタック」の結果が「スタック」の結果よりも高く表示されることです。フロー」など。
私が抱えている問題は、「フロー」が2、3のドキュメントにしか表示されないが、「スタック」がロードに表示されることです。idf値が高いため、「フロー」のドキュメントが「スタック」のドキュメントの上に表示されます。
これがプロジェクトがLuceneで直接実装されたとき、私はConstantScoreQueryを使用し、これらはブースト値のみに基づくスコアに基づいてidfを排除しました。
これは、Solrにクエリ文字列を渡すだけのSolrとSolrNetでどのように実現できますか?それができない場合、私がこの問題に取り組むことができる別の方法はありますか?
前もって感謝します!