Php Sphinx部分单词搜索,版本2.2.4
我正在使用Sphinx提供一个搜索网页来搜索大量数据,最近我将Sphinx从v2.1.8升级到v2.2.4 我在配置文件中遇到了一些问题,其中一个问题是“enable_star”选项已被删除,这影响了我搜索页面中的预期结果,因此如果搜索“rea”,在我完成键入“real”之前,它不会返回“real madrid”,同样的问题以“madrid”结尾 搜索“mad”时的预期结果:Php Sphinx部分单词搜索,版本2.2.4,php,sphinx,Php,Sphinx,我正在使用Sphinx提供一个搜索网页来搜索大量数据,最近我将Sphinx从v2.1.8升级到v2.2.4 我在配置文件中遇到了一些问题,其中一个问题是“enable_star”选项已被删除,这影响了我搜索页面中的预期结果,因此如果搜索“rea”,在我完成键入“real”之前,它不会返回“real madrid”,同样的问题以“madrid”结尾 搜索“mad”时的预期结果: 皇家马德里 马德里大西洋酒店 疯狂鳄鱼 马迪拉 疯狂布拉 就我而言,我有“疯狂鳄鱼”和“疯狂布拉” 以下是我的配置文
- 皇家马德里
- 马德里大西洋酒店
- 疯狂鳄鱼
- 马迪拉
- 疯狂布拉
docinfo = extern
mlock = 0
morphology = stem_en
min_word_len = 1
expand_keywords = 1
dict = keywords
PHP代码:
$_sphinx = new SphinxClient();
$_sphinx->SetServer('............', '....');
$_sphinx->SetMatchMode(SPH_MATCH_ANY);
$_sphinx->SetFieldWeights(array('auther_name' => 50));
$_sphinx->SetArrayResult(true);
$_sphinx->SetSortMode(SPH_SORT_EXTENDED2, 'cat_priority DESC, @weight DESC');
//////////////////
$_result = $_sphinx->Query($searchTerm . '*');
任何人都可以找这个。您的索引上似乎没有
min\u prefix\u len
设置,建议您添加它
虽然不确定您的索引将如何工作,但要使启用星=0
生效,需要最小前缀长度
这应该可以让扩展_关键字
发挥其魔力。此时,点建议从查询末尾删除*。这只会影响无论如何输入的最后一个单词,并且*应该通过添加expand\u关键字自动进行设置 是的,它成功了,但我得到了一个警告:dict=关键字、前缀和词法已启用,强制索引\u精确\u单词=1