例如,我有3个表:
documents (
id serial PRIMARY KEY,
title character varying(256),
content text,
created timestamp with time zone
);
tags (
id serial PRIMARY KEY,
tag_content character varying(128)
);
tag_assoc (
id serial PRIMARY KEY,
document_id integer,
tag_id integer
);
我希望能够documents
搜索title
,content
和标记。
我的sql_query
到目前为止非常简单,如:
sql_query SELECT id, title, content FROM documents
如何设置Sphinx sql_query以便与每个文档关联的标签与它们连接?
答案 0 :(得分:3)
你可以在sql_query里面使用group_concat的subselect来检索它们,但更好的方法是使用s ql_joined_field
。在你的情况下,看起来像:
sql_joined_field = tags from query; tag.assoc.document_id, \
tag_content from tags join tag_assoc on \
tags.id=tar_assoc.tag_id order by tag.assoc.document_id asc