sphinx MVA带rt_属性字符串

sphinx MVA带rt_属性字符串,sphinx,Sphinx,我不确定问题的标题。但我已经非常努力地尝试过了 我的rt_索引配置: type = rt path = C:\nginx\www\public_html\sphinx\scripts\data\rt_index rt_field = title rt_field = property rt_attr_string = title rt_attr_string = brand_name rt_attr_string =

我不确定问题的标题。但我已经非常努力地尝试过了

我的rt_索引配置:

type            = rt
path            = C:\nginx\www\public_html\sphinx\scripts\data\rt_index
rt_field        = title
rt_field        = property
rt_attr_string  = title
rt_attr_string  = brand_name
rt_attr_string  = property
rt_attr_multi   = categories
rt_attr_uint    = price
rt_attr_uint    = brand_id
我的发言如下:

这里我得到了与这个类别相关的独特类别和产品数量。 但它只返回类别id,因为它是“rt_attr_multi”。 我的问题是如何获得id为的类别名称? 我创建了另一个类别索引:

index facetcats
{
type            = rt
path            = C:\nginx\www\public_html\sphinx\scripts\data\facetcats
rt_field        = cat_name
rt_attr_string  = cat_name    
}
但无法连接两个索引

我的目标是在不向DB查询的情况下获取类别名称


请帮帮我。

斯芬克斯没有字符串MVA。(狮身人面像中没有“连接”)

坦白地说,你最好的办法就是使用数据库来查找名字。它们将是简单的PK查找,速度快得离谱——甚至可以使用memcache或类似工具缓存查找

或者您可以只使用普通字符串属性,将其存储为逗号分隔(有些分隔符在名称中不使用)

主要的问题是sphinx会将MVA重新排序为数字顺序(内部),所以在存储到属性之前,应该将类别名称预先排序为id数字顺序。(因此仍然可以将类别名称与属性中的ID相匹配)