2010-10-19 179 views
1

我正在用Lucene.NET构建分面搜索,不使用Solr。我想获取当前查询中的导航项列表。我只是想确保我指出了正确的方向。我脑海中有一个想法可行,但我不确定这是否是正确的做法。Lucene.NET分面搜索

我目前的计划是创建所有可用过滤器的喜好,然后使用描述为here的技术遍历列表以获得每个过滤器的计数,排除产生零结果的过滤器。这听起来不错,还是我错过了什么?

回答

1

好吧,所以我完成了我的实现。我在这个过程中对Lucene和Solr源代码进行了大量的挖掘,我建议不要使用链接问题中描述的实现,原因有几个。其中最重要的是它依赖于折旧方法。这是不必要的聪明;只需编写自己的收集器将使您使用更少的RAM的代码更快。

1

是的。你错过了solr。他们在进行多面搜索后使用的数学非常令人印象深刻,几乎没有理由不使用它。唯一的例外是我能找到的是,如果你的指数足够小,你可以将自己的理论推到它的后面,否则,它是站在他们肩上的好主意。

+2

“不使用Solr”这是一个.NET应用程序,它已经有Lucene.NET索引+搜索。我只是想添加分面导航。好像用霰弹枪把苍蝇扑向我。 – Paul 2010-10-19 17:24:19