我正在使用Lucene.Net为我们的支持票据数据库构建一个简单的搜索表单,我想添加过滤功能,例如按票证状态过滤结果。什么是最好的方法呢?据我所知,我的选择是:
选项1会为我想要过滤的每个额外字段越来越多地扩大索引的大小。另一方面,选项2会使我的索引的大小膨胀,在添加新字段以进行过滤时会导致问题,并且使分页更加棘手。
这里有明显的选择,还是两者都可以接受? (还有第三种选择我无法看到吗?)
答案 0 :(得分:2)
我不担心索引的大小:-)
我们一直选择选项1,并且永远不会过滤lucene.net之外的数据。你可能最终会遇到这样的情况,你需要在数据库中过滤后获得“真实”命中数之前从lucene.net检索大量命中 - 它可能还需要几次往返数据库。
我们目前在150K文件上平均有大约100个字段,而且效果非常好。