在Sphinx中使用MVA属性

时间:2016-08-24 08:47:59

标签: php mysql search sphinx

假设我们有三个表:

  1. pr_brand(id,title)
  2. pr_brand_usages(id,pr_brand_id,pr_usages_id)
  3. pr_usages(id,title)
  4. sphinx.conf文件中的查询是:

    SELECT p.id,p.title as title
    FROM pr_brand p
    LEFT JOIN pr_brand_usages u ON u.pr_brand_id = u.id
    
    sql_attr_string = title
    sql_attr_multi = uint pr_usages_ids from query; SELECT id,title from pr_usages
    

    我得到pr_usages_ids = 0(没有)当我在控制台中运行我的查询时:

    我的疑问:

    select * from my_index;
    

    我们有一个多选的方面(this page) 你能帮我解决这个问题吗?

    enter image description here

    更新:

    我更改了sphinx.conf文件中的查询:

    SELECT p.id,p.title as title
    FROM pr_brand p
    

    LEFT JOIN pr_brand_usages u ON u.pr_brand_id = u.id

    sql_attr_string = title
    sql_attr_multi = uint pr_usages_ids from query; SELECT pr_brand_id,pr_brand_usages_id from pr_brand_usages
    
    来自查询的

    sql_attr_multi = uint pr_usages_ids; SELECT id,标题来自

    这是对的吗?

1 个答案:

答案 0 :(得分:0)

您的“编辑”对于MVA看起来没问题。

(但是你的sql_attr_string将意味着标题将成为一个属性,使你的索引没有字段。索引将无法使用。如果你想要一个字符串属性,可以使用sql_field_string(它创建一个字段和一个属性)