我正在使用Sphinx 2.0.5。使用Sphinx對結果進行排序
sphinx.config:
index test
{
type = mysql
sql_host = host
sql_user = user
sql_pass = pass
sql_db = db
sql_query = SELECT id, string \
FROM table
}
sphinx.php:
$sphinx = new SphinxClient();
$sphinx->SetServer('localhost', 3312);
$sphinx->SetConnectTimeout(1);
$sphinx->SetLimits(0, 15);
$sphinx->SetMatchMode(SPH_MATCH_ALL);
$ret = $sphinx->query($query, 'index');
在 「弦」 有線條狀
"mouse, screen, keyboard, green house"
"green house, computer, keyboard, green house"
我想排序:
1-行中找到的不同關鍵字的數量
2-行中找到的關鍵字總數
例如,如果我搜索「溫室」,我首先要得到「溫室,電腦,鍵盤,溫室」。但是,如果我搜索「溫室屏幕」,「鼠標,屏幕,鍵盤,溫室」應該在第一位。
你對我應該使用什麼樣的排序有一個想法嗎?
謝謝。
隨着SPH_MATCH_EXTENDED和SPH_RANK_WORDCOUNT我可以按發現的關鍵字總數排序。我如何才能將所有關鍵字排在首位? –