Solrを使用してドキュメントのインデックスを作成していますが、これらのドキュメントで正確なフレーズを検索し、このフレーズがドキュメントに表示される回数で結果を並べ替える必要があります。また、フレーズが一致した回数をユーザーに提示する必要があります。
私は次のクエリを使用していました(ここではSAPという単語で検索しています)。
{
:params => {
:wt => "json",
:indent => "on",
:rows => 100,
:start => 0,
:q => "((content:SAP) AND (doc_type:ClientContact) AND (environment:production))",
:sort => "termfreq(content,SAP) desc",
:fl => "id,termfreq(content,SAP)"
}
}
もちろん、これは実際のクエリの表現であり、実行時にこのハッシュをクエリ文字列に変換することによって行われます。
content:"the query here"
の代わりにを使用して検索を機能させることができましたcontent:the query here
が、難しい部分は戻って、で並べ替えることtermfreq
です。
これをどのように機能させることができるかについてのアイデアはありますか?
Obs:私はRubyを使用していますが、これはレガシーアプリケーションであり、RubyGemsを使用できません。ここでは、SolrへのHTTPインターフェースを使用しています。