【发布时间】:2014-11-26 21:31:46
【问题描述】:
Sphinx 被用于搜索产品名称中的关键字。
Ranking Mode: SPH_RANK_SPH04
Sort Mode: SPH_SORT_RELEVANCE
返回的结果是相关的,并且都包含请求的关键字。
有没有办法应用额外的过滤来将具有相同名称的产品(它们是多色变体)彼此相邻放置?
【问题讨论】:
标签: sphinx
Sphinx 被用于搜索产品名称中的关键字。
Ranking Mode: SPH_RANK_SPH04
Sort Mode: SPH_SORT_RELEVANCE
返回的结果是相关的,并且都包含请求的关键字。
有没有办法应用额外的过滤来将具有相同名称的产品(它们是多色变体)彼此相邻放置?
【问题讨论】:
标签: sphinx
在 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 来创建字段和属性:)
... 这个 GROUP N BY 的 sphinx 是一个非常高级的功能,但它也非常强大。
【讨论】: