我有应用程序表的mysql数据库。每个应用程序都可以有一个或多个开发人员,因此在Sphinx中我想创建多值属性来搜索开发人员ID的应用程序,我尝试以这种方式创建属性:
sql_attr_multi = uint开发人员来自查询; \ SELECT id,name FROM apps_developers WHERE app_id = $ id
但是当我尝试构建索引时,sphinx服务器告诉我有关错误的信息:
错误:索引'apps':多值attr'开发人员'查询失败:'where子句'中的未知列'$ id'。
在我看来,$ id必须包含来自源查询的每个应用程序的id值?因为我是对的?为什么会发生这种错误?
答案 0 :(得分:2)
MVA查询应返回所有应用的结果(即结果集中的第一列与document_id匹配)
sql_attr_multi = uint developers from query; \
SELECT app_id, id FROM apps_developers ORDER BY app_id