Sphinx 狮身人面像分类及分类;分组

Sphinx 狮身人面像分类及分类;分组,sphinx,Sphinx,Sphinx用于搜索产品名称中的关键字 排名模式:SPH\U RANK\U SPH04 排序模式:SPH\u排序\u相关性 返回的结果是相关的,并且都包含请求的关键字 有没有一种方法可以应用额外的过滤来将同名产品(它们是多种颜色的变体)相邻放置?sphinx中有一个按功能分组的功能。问题是,听起来您似乎希望每个组有多个项目(即每个项目标题)——这只能通过SphinxQL获得(听起来您使用的是SphinxAPI) 现在可能是转换为SphinxQL的好时机:) 差不多 sphinxQL> S

Sphinx用于搜索产品名称中的关键字

排名模式:SPH\U RANK\U SPH04

排序模式:SPH\u排序\u相关性

返回的结果是相关的,并且都包含请求的关键字


有没有一种方法可以应用额外的过滤来将同名产品(它们是多种颜色的变体)相邻放置?

sphinx中有一个按功能分组的功能。问题是,听起来您似乎希望每个组有多个项目(即每个项目标题)——这只能通过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;
神奇的是

  • 小组5将返回最多五个标题相同的项目。如果你不想把它限制在5,那就给它一个很高的数字
  • 创建虚拟属性tpw允许您首先对结果进行最佳排序,但要将项目放在一起。函数的作用是:获取具有相同标题的所有项中权重最高的项。因为你然后按那个顺序,可以先得到最好的匹配
  • (注意,您需要将名称设置为属性,以便按其分组。使用sql\u field\u string设置字段和属性:)

    。。。这是斯芬克斯N组的一个非常高级的功能,但它也非常强大