2

次のシナリオを想定してみましょう。

  • Lucene ドキュメント: ArticleDocument

    フィールド: {Id、テキスト、publisherId}

  • 発行者は複数の記事を発行できます。

問題

Publisher Idごとにワード クラウド (最も頻繁に使用される単語、シングル) を作成したいと考えています。

調査の結果、インデックス全体またはドキュメントの最も頻繁に使用される用語を取得する方法を見つけることができましたが、ドキュメントのサブセットについては取得できませんでした。同様の質問を見つけましたが、それは Lucene 2.x であり、最近の Lucene に効果的な方法が存在することを願っています。

Lucene 4.x (推奨) または 3.x (バージョン 3 の最新)でそれを実行する方法を教えてください。

各出版社を、すべての記事がフィールドに追加されたドキュメントにすることはできないことに注意してください。

これは、クラウド内のこれらの単語を、対応する記事 (同じ発行者 ID による) で検索できるようにしたいためです。

2 種類の lucene ドキュメント (記事と発行元) を維持することが、維持とパフォーマンスの観点から良い考えかどうかはわかりません。

4

1 に答える 1

5

Solr 4.X リリースで使用可能なピボット ファセットを使用します。ピボット ファセットを使用すると、親ファセットの結果内でファセットできます。

シングル フィルター ファクトリを使用して、インデックス作成時に「テキスト」フィールドのシングル トークンを生成します。

ファセットを作成facet=true&facet.pivot=publisherid,textするには、クエリにパラメーターを追加します。

サンプルクエリ:

http://localhost:8983/solr/collection1/select?q=*:*&wt=json&indent=true&facet=true&facet.pivot=publisherid,text

クエリは、各 "publisherid" の頻度で頻繁な帯状疱疹/単語を返します。

于 2013-09-17T06:33:59.910 に答える