sphinx SPH_MATCH_ANY模式 VS SPH_MATCH_ALL模式


对于5000w的数据,

用SPH_MATCH_ALL 模式搜索非常快,大约1s。
用SPH_MATCH_ANY 模式搜索时,大约40s。

个人理解sphinx在搜索时,都是将句子分词,然后对分词进行搜索。
按理解SPH_MATCH_ALL要匹配所有分词,而SPH_MATCH_ANY只需要匹配任何一个分词,相对来说SPH_MATCH_ANY会更快,但是不知道结果为什么会是这样?

另外在设置limit为10个,即搜索到10个匹配就返回。

sphinx 搜索技术

金坷垃上瘾患者 12 years, 7 months ago

SPH_MATCH_ALL 是匹配所有的查询词;
SPH_MATCH_ANY 是匹配查询词中的任何一个;
可以理解成sql中的 and 和 or的区别

空大派LH answered 12 years, 7 months ago

Your Answer