使用 Sphinx 搜索
Search with Sphinx
我有 2 个表:
book (
id, name, category_id
);
category (
id, name
);
如果我需要从类别索引中搜索,我可以使用 sql_joined_field
通过 Sphinx
进行全文搜索吗?
我觉得是这样的:
sql_query = Select * from category
sql_joined_field = book_names from query;\
select book.name, category.id as category_id \
from book join category on category.id = book.category_id \
order by category_id
或者我必须在这种情况下使用 GROUP_CONCAT?
你的sql_joined_field
不太对,但是你的想法是对的。
sql_query = select id, name from book
sql_joined_field = category_names from query;\
select book.id, category.name \
from book join category on category.id = book.category_id \
order by book_id
查询需要select document_id 和要添加到索引的列。
你的document_id应该是book.id
编辑,实际上因为一本书只能有一个类别,所以根本不需要使用 use joined fielded!
sql_query = select book.id, book.name, category.name as category \
from book left join category on category.id = book.category_id
我用 category_id
和 name
添加新索引 books
。对于按书名过滤类别,我在 books
中搜索 category_id,然后按 ID 过滤类别...
我有 2 个表:
book (
id, name, category_id
);
category (
id, name
);
如果我需要从类别索引中搜索,我可以使用 sql_joined_field
通过 Sphinx
进行全文搜索吗?
我觉得是这样的:
sql_query = Select * from category
sql_joined_field = book_names from query;\
select book.name, category.id as category_id \
from book join category on category.id = book.category_id \
order by category_id
或者我必须在这种情况下使用 GROUP_CONCAT?
你的sql_joined_field
不太对,但是你的想法是对的。
sql_query = select id, name from book
sql_joined_field = category_names from query;\
select book.id, category.name \
from book join category on category.id = book.category_id \
order by book_id
查询需要select document_id 和要添加到索引的列。
你的document_id应该是book.id
编辑,实际上因为一本书只能有一个类别,所以根本不需要使用 use joined fielded!
sql_query = select book.id, book.name, category.name as category \
from book left join category on category.id = book.category_id
我用 category_id
和 name
添加新索引 books
。对于按书名过滤类别,我在 books
中搜索 category_id,然后按 ID 过滤类别...