我尝试在sphinx中搜索一个程序结果,我有这个来源:
source src_tax_autocomplete_developer : base
{
sql_query = CALL taxonomy_autocomplete('developer');
sql_attr_uint = uid;
sql_attr_uint = tid;
sql_field_string = name;
}
和这个索引:
index idx_tax_autocomplete_developer
{
# Which source to use
source = src_tax_autocomplete_designer
# Path where to store the index data
path = /usr/local/sphinx/var/data/tax_autocomplete_developer
docinfo = extern
# Charset of the data
charset_type = utf-8
enable_star = 1
min_prefix_len = 3
# Minimum lenght of a word to be indexed.
min_word_len = 3
charset_table = U+FF10..U+FF19->0..9, U+FF21..U+FF3A->a..z, U+FF41..U+FF5A->a..z, 0..9, A..Z->a..z, a..z, ., +
}
我的程序是:
delimiter $$
create procedure taxonomy_autocomplete(role varchar(20))
begin
set @n=0;
set @role=role;
set @users=concat(concat(concat(concat('select @n := @n+1 as id,uid,0 as tid,`name` from users
left join field_data_field_user_','',@role),'',' on entity_id = uid
where field_user_'),'',@role),'','_tid is null ;');
set @taxonomy=concat('SELECT @n := @n + 1 as id,0 as uid ,tid,`name` FROM taxonomy_term_data where vid=(select vid from taxonomy_vocabulary where `name`=?)
union all ','', @users);
set @roles=concat(@role,'','s');
prepare stmt from @taxonomy;
execute stmt using @roles;
DEALLOCATE PREPARE stmt;
end $$
在运行sphinx时,我采取了这种交战:
WARNING: attribute 'uid;' not found - IGNORING
WARNING: attribute 'tid;' not found - IGNORING
WARNING: attribute 'name;' not found - IGNORING
WARNING: Attribute count is 0: switching to none docinfo
我无法搜索姓名,我该怎么做,我尝试搜索但是找不到帮助我