【问题标题】:How to combine full-text searching and filtering with lucene.Net如何将全文搜索和过滤与 lucene.Net 结合起来
【发布时间】:2009-10-29 17:19:18
【问题描述】:

我正在使用 Lucene.Net 为我们的支持票证数据库构建一个简单的搜索表单,并且我想添加过滤功能,例如按票证状态过滤结果。最好的方法是什么?据我所知,我有以下选择:

  1. 在我的索引中包含我想要过滤的所有术语,并使用 Lucene.Net 进行过滤
  2. 从 Lucene 获取搜索结果后应用过滤器,方法是转到数据库以过滤掉 Lucene 返回的对过滤器无效的结果。

对于我要过滤的每个额外字段,选项 1 会越来越多地扩大我的索引大小。另一方面,选项 2 会扩大我的索引的大小,在添加要过滤的新字段时导致问题,并且还会使分页更加棘手。

这里有一个明显的选择,还是两者的组合都可以接受? (还有我看不到的第三个选项吗?)

【问题讨论】:

    标签: lucene.net


    【解决方案1】:

    我不会担心索引的大小 :-)

    我们一直选择选项 1,从不过滤 lucene.net 之外的数据。您最终可能会遇到这样一种情况:您需要从 lucene.net 检索大量命中,然后才能在数据库中过滤后获得“真实”命中的数量 - 它还可能需要多次往返数据库。

    目前,我们的 150K 文档中平均有大约 100 个字段,而且效果非常好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-02
      • 2016-05-26
      • 2021-01-04
      • 2021-10-30
      • 2010-10-04
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多