MariaDB 10.0与SphinxSE

我有一个关于将Sphinx与MariaDB 10.0集成的问题。 数据库与SphinxSE存储引擎打包在一起,但我无法find有关如何设置的详细信息。 考虑以下情况:

我有一个使用数据库的图书销售应用程序,具有下列表格:“书”,“列表”和“学校”。 “列表”包含与单个书籍和单个学校的关系。 一本“书”包含几列,最重要的是“标题”和“作者”。 我想使用Sphinx在“Book”表上进行全文search,典型的查询可能会像这样(在伪SQL中):“查找所有标题包含string”Harry P“的书,目前在哈佛大学上市“。

根据MariaDB的文章 :“你需要创build一个特殊的ENGINE = SPHINX'search表',然后使用全文查询进行SELECT …” – 这意味着Sphinx根本无法访问/索引现有的MariaDB表? 我必须重新创build我的“书”表作为SphinxSE表? 如果是这种情况,我该如何指定这个表和我的其他非Sphinx表(列表,学校等)之间的关系? 上面的文章给出了一个非常简单的JOIN示例,但是我仍然感到困惑。 如果所有的“书籍”都存储在狮身人面像表中,MariaDB可以访问这个表格以查询不同types的查询(不需要全文search)?

作为一个相关的问题,使狮身人面像能够为书的标题和作者编制索引的好方法是什么? 该应用程序将始终指定哪个字段被查询。

任何帮助将不胜感激,因为几个小时的search和阅读仍然在这个话题上大部分在黑暗中。

SphinxSE引擎不是一个真正的引擎。 它所做的只是为底层的Sphinx守护进程提供“代理”。 它运行针对sphinx引擎的查询,然后将“结果”显示为FAKE表,以便mysql可以将其与原始表连接起来。

基本上是一个方便的方法来获取狮身人面像结果和一个查询中的相关数据(使用mysql做'JOIN'的辛勤工作)

…在“担心”sphinxSE之前。 你需要找出一个正常的狮身人面像索引,你可以运行查询。 即创build一个索引以便能够运行该查询。 通常情况下,狮身人面像查询只会给你一个ID列表。

所以玩弄狮身人面像设置独立(没有SphinxSE或MariaDB) – 创build一个索引,并运行一些查询。 先做好工作

只有你有索引的工作(你理解的概念) – 回来,并找出如何设置与SphinxSE。

有很多关于让狮身人面像工作的文章https://www.google.com/search?q=sphinx+search+getting+started