Php Sphinx部分单词搜索,版本2.2.4

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”时的预期结果: 皇家马德里 马德里大西洋酒店 疯狂鳄鱼 马迪拉 疯狂布拉 就我而言,我有“疯狂鳄鱼”和“疯狂布拉” 以下是我的配置文

我正在使用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