Luceneを使用してWebアプリケーションの検索コンポーネントを開発しています。ユーザーのクエリをインデックスに保存して、ユーザーに代替クエリを提案したり、クエリ統計情報(よく使用されるクエリ、トップスコアリングクエリなど)を保持するために使用します。luceneを使用したクエリ統計の保持
このデータを代替クエリ候補として使用するには、クエリを分析して、どの用語が最も頻繁に使用されているかを確認し、それを使用してユーザーに提案を作成します。
しかし、どの形式でデータをインデックスするかわかりません。私は単に索引に照会を追加することを考えていましたが、索引内の多くの文書が同じ内容を持つので、そのように冗長なデータが多数存在する可能性があります。これを実現する方法について誰もが知っていますか?
ありがとうございました。
私はそのことについて考えましたが、クエリ(使用回数、ヒット数)に関する統計情報も保持する必要があります。これを達成するために考えられる唯一の方法は、索引で使用され、文書を更新する前に増分しますが、これは高価な操作のようです。 – jbradaric
これを行うためにlucene自体のTerm Frequenciesを使用できますか? http://stackoverflow.com/questions/667389/get-term-frequencies-in-lucene。クエリの推奨事項をリアルタイムで実行するには、事前に期間freqを事前に計算して保存する必要があります。 – Joel
私は一意のフィールドとしてクエリを格納しない場合、私はTermFrequenciesを使用することができますが、私はそれを避けるために望んでいた。しかし、ソリューションが存在していても、より良いソリューションを見つけ出すまでは、クエリを非一意であるとして保存する必要があるようです。 – jbradaric