2012-07-08 41 views
0

我正在寻找将当前MySQL数据库转换为MariaDB 5.5与SphinxSE。我一直没有找到任何真正的基础“是的,你是一个白痴”使用MariaDB附带的SphinxSE教程。SphinxSE基本语法问题使用MariaDB

我从AskMonty了解如何安装该插件的tutorial的第一部分,但随后它开始进入基本用法,这就是我的大脑开始进入大脑放屁模式的位置。我了解创建特殊表格的必要性,但最后还是留下了一些问题。在这个例子中,它表示身份证,体重和查询是必需的,他们需要特定的设置。但是,您可以在该表中添加的以下其他字段不一定有意义。当MySQL对Sphinx的searchd进行查询并将结果返回给此表或者此表是否拥有由searchd填充的gazillion关键字时,是否会动态构建此特殊表?

根据this文档中关于狮身人面像(和一些articles中我发现,是helpful)我真的不知道什么是由与SphinxSE“照顾”,什么我仍然需要设置。我认为我仍然需要在sphinx.conf文件中设置索引?或者他们以某种方式设置在通过查询传递的属性所需的特殊表中?

所以,现在你已经意识到我很困惑,基本上我想得到一些帮助。假设我成功安装了MariaDB,并安装了包含的SphinxSE插件。在我的想象数据库中,我有3个表格,我希望使用Sphinx的全文搜索功能。

-- 
-- Table structure for table `page_articles` 
-- 

CREATE TABLE IF NOT EXISTS `page_articles` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `page_id` int(11) NOT NULL, 
    `body` longtext NOT NULL, 
    PRIMARY KEY (`id`), 
    KEY `page_id` (`page_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `page_comments` 
-- 

CREATE TABLE IF NOT EXISTS `page_comments` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `user_id` int(11) NOT NULL, 
    `comment` text NOT NULL, 
    PRIMARY KEY (`id`), 
    KEY `user_id` (`user_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `page_content` 
-- 

CREATE TABLE IF NOT EXISTS `page_content` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `title` varchar(100) NOT NULL, 
    `content` longtext NOT NULL, 
    `meta_keywords` text NOT NULL, 
    PRIMARY KEY (`id`), 
    FULLTEXT KEY `content` (`content`,`meta_keywords`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

从这一点上我该怎么做到正确设置我需要的索引?就像我说过的,我读过几篇文章,关于如何选择字段进行索引,或者如果您只选择MySQL全文索引,并且该索引为您选择字段,这并不是非常清楚。在我正确设置了一些索引之后,我将如何开始使用一些可用于从这些表中提取数据的搜索查询?我理解正常MySQL全文搜索的语法(SELECT ... FROM table MATCH(blah_index)AGAINST(keywords)),但我不知道它是如何甚至仍然在SphinxSE版本中使用的。任何额外的帮助将不胜感激。谢谢。

回答

3

SphinxSE只是一个接口,可以让你使用mysql查询sphinx服务器。你仍然需要单独设置狮身人面像。

本文介绍如何使用接口:Using SphinxSE

但是,请注意表定义的这一部分:CONNECTION="sphinx://localhost:9312/test";

这就是你告诉它连接到您现有的狮身人面像服务器。有很多文档解释了如何设置狮身人面像。实际上甚至有一篇链接在狮身人面像网站上的文章,它引导你设置所有与MySQL一起工作的东西:Sphinx & MySQL