2014-09-22 82 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