2010-12-08 2 views
1

私はLuceneと協力しています。私の仕事は検索を実行することです。私はフィルターの使用を知りたい。検索中にフィルターを使用する理由

+0

あなたの質問はhttp://stackoverflow.com/questions/1271234/how-do-i-filter-my-lucene-search-resultsと同じだ​​と思います –

答えて

3

フィルタは、フィルタをキャッシュできるという点でクエリと異なります。基本的には、フィルタを使用すると、ビットマップが格納されます。ビットマップは、i番目のドキュメントがフィルタに一致する場合は1、それ以外の場合は0です。

クエリとフィルタに一致するものをすべて検索すると、クエリの結果が得られ、キャッシュされたフィルタとビット単位でANDします。これにより、状況によってはパフォーマンスが向上する可能性があります。

ほとんどの検索に適用する必要がある条件が1つまたは2つある場合(たとえば、「セキュリティが高い」すべてのドキュメントを非表示にするなど)、フィルタを調べることができます。それ以外の場合は、フィルターが大量のメモリーを消費するため、通常の照会を行うだけでパフォーマンスが向上します。

関連する問題