[英]Sphinx show one or x from each category
我在獅身人面像上有一個產品索引。 我按類別搜索和過濾。 我通過“ id desc”進行排序,使用該設置,我看到了最后的產品。 沒關系。 但是真正的問題是:
我想表明沒有列出一個類別,另一個類別(因為我的產品添加了一個類別,而不是另一個類別)。 我想同時列出id desc(最后一個產品優先)和隨機排序的類別。
通過設計:
id category_id name
-- ----------- ----
1 1 a
2 1 b
3 1 c
4 2 d
5 2 e
6 2 f
現在(訂單):
f-e-d-c-b-a
但我想要
f-c-e-b-d-a
我的獅身人面像代碼:
$sphinx = new SphinxClient();
$sphinx->SetServer("127.0.0.1", 9312);
$sphinx->SetMatchMode(SPH_MATCH_EXTENDED2);
$sphinx->SetRankingMode(SPH_RANK_WORDCOUNT);
$sphinx->SetSortMode(SPH_SORT_EXTENDED, 'id DESC');
$sphinx->SetArrayResult(true);
$filtersArr = $this->getSphinxFilterParams($params);
foreach ($filtersArr['filter'] as $attr => $val)
{
$sphinx->SetFilter($attr, $val[0], $val[1]);
}
反正有做到這一點嗎?
sphinx論壇上有一個與此相關的主題: http ://sphinxsearch.com/forum/view.html?id=10546
盡管大多數情況下可能是sphinxAPI(通過未公開的setOuterSelect),但建議遷移到SphinxQL,因為它最容易使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.