2016-11-23 14 views
0

私はLucene 5.3.1を使用していますが、すでにいくつかのドキュメントのインデックスを作成していますが、今はのトークンカウント/index)コレクション/インデックス内のすべてのトークン数をカウントする方法

私はすべてのドキュメントを繰り返し処理し、その長さを合計することができます。しかし、実行時間を増やす私の複雑なアルゴリズムのために、私はこのアプローチを避けようとしています。私はルーネンがこのためにAPIを持っている可能性があると思う...

結局のところ、私はこの機能(または同様の機能)をgoogled、しかし、私は有用なリンクを見つけることができません。

質問は次のとおりです。(つまりインデックス全体)のALL TOKENSの番号を返す組み込み関数がありますか?そうでない場合は、他の最適な方法がありますか?

ご協力いただきありがとうございます。

答えて

1

最終的に解決策が見つかりました。

私は次のように CollectionStatisticsを使用

CollectionStatistics collectionStats = indexSearcher.collectionStatistics("Body"); 
long token_count = collectionStats.sumTotalTermFreq(); 

sumTotalTermFreq()方法は、コレクション内のすべてのトークンを返します。これはすべてのクエリの修正です。

関連する問題