为什么我们在搜索时使用过滤器

时间:2010-12-08 11:07:01

标签: java lucene

我正在与Lucene合作。我的工作是查询和执行搜索。我想知道过滤器的使用。

1 个答案:

答案 0 :(得分:3)

过滤器与查询的不同之处在于可以缓存过滤器。基本上,当您使用过滤器时,Lucene会存储一个位图,如果第i个文档与过滤器匹配,则位i为1,否则为0。

如果您搜索与查询和过滤器匹配的所有内容,它将获得查询结果,并使用缓存过滤器按位-EN。在某些情况下,这可以提高性能。

基本上,如果您有一个或两个条件需要适用于几乎所有搜索(例如隐藏所有“高安全性”文档),那么您可能需要查看过滤器。否则,只是执行正常查询应该会更好,因为过滤器会占用大量内存。