2010-05-21 61 views
1

在MySQL数据库中我有不同类型的文档:有些文档内容,元键,描述,其他文档有代码,SKU编号,尺寸和品牌名称等等。问题是,我必须在所有这些文档中搜索一些内容,然后显示一个页面,其中结果将按照文档类型进行分组,例如帮助页面,博客帖子,项目......我不清楚如何实现狮身人面像索引:我想有一个索引来加速查询,但由于不同的文档有不同的结构 - 我如何对它们进行分组?我正在考虑将它们连接起来,但它感觉不对。建议狮身人面像索引方案

回答

1

Sphinx实际上并未返回文档,连接与否,它返回已编制索引的项目或属性的主键。在这里,在sphinx.conf的这段代码中,这里的SQL用来构建一个索引。当随后搜索索引时,将返回product.id,同时搜索text2search。

sql_query = SELECT id, CONCAT_WS(' ', field1, field2) as text2search FROM product 

如果您的文档/产品驻留在同一个数据库表中,这非常简单。在给定主键时,您可以在数据库端检索并重新创建数据结构。

如果您在将每种类型映射到不同表格时在一个狮身人面像索引中将不同类型的项目编入索引,则会涉及更多一点。