使用 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_idname 添加新索引 books。对于按书名过滤类别,我在 books 中搜索 category_id,然后按 ID 过滤类别...