2014-06-05 24 views
0

我不确定问题标题。但我非常努力地尝试过。sphinx MVA with rt_attr_string

我rt_index的conf:

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 

我下面:https://github.com/adriannuta/SphinxFacetingExample

这里我得到独特的类别和与此类别相关的产品数量。 但它只返回类别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  
} 

但不能连接两个指标。

我的目标是获取没有查询数据库的类别名称。

plz帮助我。

回答

1

狮身人面像没有字符串MVA。 (并且在狮身人面像中没有“连接”)

坦率地说,您最好的想法是只使用数据库来查找名称。他们将简单的PK查找如此快速 - 甚至可以用memcache或类似的方式缓存查找。

或者,你可以使用普通字符串属性,其存储的说逗号分隔(某些分隔符不要在名字中使用)

主要的疑难杂症是狮身人面像将重新排序移动增值服务进入数字顺序(内部),所以你应该在存储到属性之前,将您的类别名称预先设置为id数字顺序。 (所以仍然可以将类别名称匹配到属性中的ID)

+0

thanks @barryhunter – Tamal