Sphinx为mysql主键自动增量id创建属性

时间:2013-05-20 07:59:49

标签: mysql field sphinx auto-increment

我正在尝试为我的mysql表创建相同副本的sphinx索引但是我的自动增量ID出错了。所以我无法创建自动增量id的相同字段名称。

错误:

WARNING: attribute 'u_g_id' not found - IGNORING

这是我的配置..

###############################
    ## Sphinx configuration file ##
    ###############################
    # Source For Assamese Male Profiles
    source usergallerysrc
    {
            type                            = mysql
            sql_host                        = localhost
            sql_user                        = test
            sql_pass                        = test
            sql_db                          = test
            sql_query                       = SELECT u_g_id,u_g_u_id,u_g_type,u_g_path,u_g_time from user_gallery where u_g_status='1'

            sql_attr_bigint         = u_g_id        
            sql_attr_bigint                 = u_g_u_id
        sql_attr_uint                   = u_g_type
        sql_attr_timestamp              = u_g_time
            sql_field_string                = u_g_path

    }

    ######################
    ## index definition ##
    ######################
    # gallery index
    index usergalleryindex
    {
            source                  = usergallerysrc
            path                    = /usr/local/sphinx/var/data/usergalleryindex/usergalleryindex
            docinfo                 = extern
            mlock                   = 0
            morphology              = none
            min_word_len            = 1
            charset_type            = sbcs
            html_strip              = 1
            html_remove_elements    = style, script
            enable_star             = 1
            min_infix_len           = 3
    }

任何人都可以帮助我...提前致谢...

1 个答案:

答案 0 :(得分:10)

sql_query结果中的第一列用作document_id ALWAYS。它不能定义为attribute

所以u_g_id因为已经被使用而无法找到。

如果你想使用document_idattribute的列(虽然我想不出你为什么会这样),只需要在查询中复制它。