1

次の問題を処理する方法がわかりません。ですから、ここでいくつかのアイデアやそのようなものを手に入れたいと思っています。私はsolrでluceneを使用しています。すべてのドキュメント (lucene でインデックス化されている) には、日付フィールドとトピック フィールド (いくつかのキーワードを含む) があります。

ファセット検索を使用することで、特定の日付におけるすべてのキーワードの頻度を計算できます。

例 1 (疑似コード):

1st search where date=today:
web=>70
apple=>35
blue=>32

2nd search where date=yesterday:
web=>65
blue=>55
apple=>5

しかし今、どの単語頻度が非常に強くなり、魔女がそうでないかを計算するために、結果を 1 つの solr/lucene クエリに結合したいと思います。結果は次のようになります。

例 2:

one search merging both querys from example 1
web=>(70,65)  <- growth +7,69%
blue=>(32,55) <- growth -41,81%
apple=>(34,5) <- growth +680%

solr 内でこの統合 (および計算) を実行することは可能 (かつ有用) ですか? または、2 つの solr クエリ (例 1 を参照) を開始し、結果を PHP で後処理する方がよいでしょうか?

あなたより!

4

1 に答える 1

0

先験的にファセット値がある場合は、ファセット クエリを使用してこれを行うことができます。つまりfacet.query=category:web AND date:[2011-06-14T00:00:00Z TO 2011-06-14T23:59:59Z]&facet.query=category:web AND date:[2011-06-13T00:00:00Z TO 2011-06-13T23:59:59Z]&...、ファセット値 * 日付のデカルト積を実行するようなものです。

それ以外の場合、Solr 内でこれを行うには、カスタム Java ファセット コードを作成する必要があると思います。または、あなたが述べたように、複数のクエリを使用してクライアント側で実行します。

于 2011-06-14T13:43:57.827 に答える