Sphinx用于搜索产品名称中的关键字。
Ranking Mode: SPH_RANK_SPH04
Sort Mode: SPH_SORT_RELEVANCE
返回的结果是相关的,并且都包含所请求的关键字。
有没有办法应用额外的过滤来将相同名称的产品(它们是多色变体)放在一起?
答案 0 :(得分:1)
sphinx中有一个GROUP BY功能。问题是你听起来你想要每组多个项目(即每个项目标题) - 这只能通过SphinxQL获得(听起来像你使用SphinxAPI)。
现在转换为SphinxQL可能是个好点:)
像
这样的东西 sphinxQL> SELECT id,title,MAX(WEIGHT()) AS tpw FROM sample2
WHERE MATCH('keyword') GROUP 5 BY title
ORDER BY tpw DESC, title ASC OPTION ranker=sph04;
神奇的是
(注意,您需要将名称设为属性,因此可以按其分组。使用sql_field_string同时创建字段和属性:)
...这是一个非常先进的功能,这个sphinx的GROUP N BY,但它也非常强大。