2014-09-22 35 views
2

我使用的狮身人面像,提供一个搜索网页,以一个巨大的数据集,最近我升级狮身人面像从v2.1.8到V2.2.4狮身人面像的部分单词搜索,版本2.2.4

我有一些烦恼配置文件,其中之一是'enable_star'选项已被删除,这影响了我的搜索页面的预期结果,所以如果搜索'rea'它将不会返回'真正的马德里',直到我完成键入'真实',单词相同的问题结束“马德里”。如果

预期的结果我搜索了 '疯狂':

  • 皇马
  • Atlatico马德里
  • 疯鳄鱼
  • Madila
  • 疯喇嘛

在我的情况我得到'疯狂的鳄鱼'和'疯狂的bla'。

这里是我的配置文件的一部分:

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 . '*'); 

可以在任何身体看这个。

回答

2

您似乎没有min_prefix_len设置您的索引,建议您添加它。

虽然不知道你的指数如何工作,min_prefix_lenenable_star=0将需要有效。

这应该允许expand_keywords发挥它的魔力。在哪个poing建议从查询结尾删除*。这只会影响输入的最后一个单词,并且*应该自动加上expand_keywords

+0

是的,它的工作,但我得到了一个警告: dict =关键字和前缀和形态启用,强制index_exact_words = 1 – Rabih 2014-09-23 06:45:43