有人可以帮我配置Sphinx以获取html内容中最佳匹配网址(网址的一部分)吗?
我的配置:
index base_index
{
docinfo = extern
mlock = 0
morphology = none
min_word_len = 3
charset_type = utf-8
charset_table = 0..9, A..Z->a..z, a..z
enable_star = 1
blend_chars = _, -, @, /, .
html_strip = 0
}
我在SPH_MATCH_EXTENDED模式的后端(PHP)上使用SphinxAPI。
我不明白搜索是如何运作的。如果我找到“domain.com”,我有37个结果。如果“www.domain.com” - 643结果。但为什么? “domain.com”是“www.domain.com”的针脚,理论上第一次查询时必须获得更多结果。
FreeBSD 9.2。 Sphinx 2.1.2
16个分布式索引(147Gb)
答案 0 :(得分:0)
这有点晚了,但无论如何,这是我的想法。
当您搜索www.domain.com
时,sphinx实际上分别在寻找www
domain
和com
。如果您只是在搜索domain.com
,那么它只是在寻找domain
和com
。这可能是www.domain.com
返回更多结果的原因,因为www
在整个索引中出现频率更高。
由于您正在搜索网址,因此我会根据您的搜索方式设置stopwords。对我而言,我会www
com
org
,基本上所有顶级域名都会停用。您可能希望离开顶级域名,只需将www
设为停用词。这样,您就可以在搜索结果中加权com
高于net
。
如果您设置了正确的停用词,当有人搜索domain.com
时,sphinx实际上只会在索引中查找domain
的点击数,无论是domain.com
还是domain.org
还是{ {1}}。