喜悦国际村 » PHP高级编程 » lucene搜索结果的合并

页: [1]
喜悦村会计2008-6-1 01:38 AM
lucene搜索结果的合并

有人告诉我说Lucene在进行多条件查询的时候会分别对每一个查询条件进行查询,然后将所有的查询结果合并。比如说查询条件:  title:lucene AND publisher:manning ,lucene会先查询 title:lucene 然后再查询 publisher:manning ,最后将两次搜索的结果合并,真的是这样吗?那lucene是如何做到的呢?
那么请问lucene使用什么算法保证结果合并这个过程能够快速完成呢?比如说第一个搜索条件得到100000个结果,第二个搜索条件得到100000个结果,如何得到“与”操作的结果? 这两个结果集保存到内在中也要占用不小的空间啊。

风在芯中2008-6-1 03:26 AM
之前做了一个TAG系统,有想过用“与”操作来实现,但最终没能搞定。

后来,直接把结果放到数组进行取交集操作。当时有做过数据测试,速度还可以。具体的数据忘记了。楼主可以自己测试一下,看看能不能满足自己的需求。

奶瓶2008-6-1 11:29 AM
连google都不会返回给你100000个结果

imjl2008-6-2 04:35 AM
为什么不去官网,mail-list,source 寻找你答案呢?

喜悦村会计2008-6-3 08:53 AM
俺是小菜鸟,俺对java不熟,看不懂他的代码。
虽然不会一次返回100000个结果,但是应该要计算这些结果和搜索文字的相关度,然后排序的吧。

孙小二2008-6-10 04:47 AM
算法问题,一次返千八百就足够了


查看完整版本: lucene搜索结果的合并


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.006566 second(s), 2 queries