我目前的Sphinx配置只返回与整个单词匹配的结果,但我希望sphinx能够返回搜索单词的部分内容。
e.g。 如果我搜索单词 块 它应该返回结果包含所有包含单词块的单词而不仅仅是exat匹配。 例如 重磅炸弹 megablockbuster megablock
在查询
中使用块的类比我当前的SPhinxQL查询看起来像这样
SELECT id FROM disk_index1 WHERE MATCH('block') LIMIT 0,25 OPTION max_matches = 10000
我试过回答 参考:searching in a part of word with Sphinx
enable_star=1
但 它现在已经贬值了。 我甚至试过像这样运行查询
SELECT id FROM disk_index1 WHERE MATCH('*block*') LIMIT 0,25 OPTION max_matches = 10000
但仍然没有返回部分单词匹配
如何启用部分单词匹配?在SPhinxQL?
Sphinx Server版本:2.2.9-id64-release(rel22-r5006) 在Cent Os 7 x 64
我当前的索引配置有
docinfo = extern
morphology = stem_en
enable_star = 1
答案 0 :(得分:2)
您可以使用min_infix_len
和min_prefix_len
来实现此目标:
中缀长度设置允许使用术语模式的通配符搜索 'start *','* end','* middle *'等等。它也让你也禁用 短通配符,如果这些通配符太贵而无法搜索。