【问题标题】:Search with Sphinx用狮身人面像搜索
【发布时间】:2015-04-22 05:06:58
【问题描述】:

我有 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?

【问题讨论】:

    标签: full-text-search sphinx


    【解决方案1】:

    我添加新索引bookscategory_idname。对于按书名过滤类别,我会通过 books 搜索 category_id,然后按 id 过滤类别...

    【讨论】:

      【解决方案2】:

      您的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
      

      查询需要选择document_id,以及要添加到索引的列。

      您的 document_id 应该是 book.id


      编辑,实际上因为一本书只能有一个类别,根本不需要使用连接字段!

      sql_query = select book.id, book.name, category.name as category \
                         from book left join category on category.id = book.category_id
      

      【讨论】:

      • 我的意思是,我必须按书籍对类别索引进行排序
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多