Php SphinxQL-Sphinx搜索单词的一部分
我当前的Sphinx配置只返回与整个单词匹配的结果,但我希望Sphinx也返回对单词部分的搜索 e、 g。 如果我搜索单词 块 它应该返回包含所有单词的结果,其中包含单词块,而不仅仅是exat匹配。 例如 大轰动 超级大片 兆块 它类似于在查询中使用块 我当前的SPhinxQL查询如下所示Php SphinxQL-Sphinx搜索单词的一部分,php,sphinx,Php,Sphinx,我当前的Sphinx配置只返回与整个单词匹配的结果,但我希望Sphinx也返回对单词部分的搜索 e、 g。 如果我搜索单词 块 它应该返回包含所有单词的结果,其中包含单词块,而不仅仅是exat匹配。 例如 大轰动 超级大片 兆块 它类似于在查询中使用块 我当前的SPhinxQL查询如下所示 SELECT id FROM disk_index1 WHERE MATCH('block') LIMIT 0,25 OPTION max_matches = 10000 SELECT id FROM d
SELECT id FROM disk_index1 WHERE MATCH('block') LIMIT 0,25 OPTION max_matches = 10000
SELECT id FROM disk_index1 WHERE MATCH('*block*') LIMIT 0,25 OPTION max_matches = 10000
我已经试过了他的答案
参考:
但是
它现在贬值了。
我甚至尝试过这样运行查询
SELECT id FROM disk_index1 WHERE MATCH('block') LIMIT 0,25 OPTION max_matches = 10000
SELECT id FROM disk_index1 WHERE MATCH('*block*') LIMIT 0,25 OPTION max_matches = 10000
但它仍然不会返回部分单词匹配
如何启用部分单词匹配?在狮身人面像中
Sphinx服务器版本:2.2.9-id64-release(rel22-r5006)
在Cent Os 7 x 64上
我当前的索引配置已更改
docinfo = extern
morphology = stem_en
enable_star = 1
您可以使用
min\u infix\u len
和min\u prefix\u len
来实现这一点:
中缀长度设置允许使用术语模式进行通配符搜索,如
“开始*”、“*结束”、“*中间*”等。它还允许您禁用
短通配符(如果这些通配符太昂贵而无法搜索)
阅读更多关于