2

こんにちは、さまざまなメタデータフィールドがたくさんあるアプリケーションがあります。彼らは約5000から10000のフィールドを持つことを期待しています。

1つのフィールドにインデックスを付けずに、luceneを使用してすべてのaseフィールドを一度に検索することは可能ですか?

MultiFieldQueryParserは、すべての単一フィールドでクエリを生成しましたが、間違っていない場合、デフォルトのlueceneは一度に約1000の結合クエリに設定されていますか?

すべてのフィールドを検索する他のパーサーはありますか?

//トリンド

4

1 に答える 1

2

いいえ、複数のフィールドがあり、それらをすべて検索したい場合は、すべてを検索する必要があります。

理論的には、多数の小さなフィールドを検索しても、1 つの大きなフィールドを検索しても、パフォーマンスが低下することはありません。

別の言い方をすれば、標準の論理和 (OR) クエリの場合、句の数は実際にはパフォーマンスに影響しませんが、より多くのドキュメントが一致する可能性がある場合を除きます。

実際には、いくつかの問題が発生する場合があります。わからない。それらをすべて1つにインデックス化する必要があると仮定する前に、私はそれを試してみます。

(句の最大数はデフォルトで 1024 ですが、これはsetMaxClauseCountで変更できます。)

于 2012-05-16T19:10:09.287 に答える