繁体   English   中英

使用MariaDB的SphinxSE基本语法问题

[英]SphinxSE Basic Syntax Questions Using MariaDB

我正在使用SphinxSE将当前的MySQL数据库转换为MariaDB 5.5。 我还没有找到关于使用MariaDB附带的SphinxSE的任何真正的基本“是的,你是个白痴”教程。

我从AskMonty那里了解了本教程的第一部分,即如何安装该插件,但是随后它就开始了基本用法,这就是我的大脑开始进入放屁模式的地方。 我知道需要创建特殊表,但最后还是给我一些问题。 在示例中,它说ID,重量和查询是必需的,并且它们需要特定的设置。 但是,该表中可能包含的以下其他字段不一定有意义。 当MySQL对Sphinx的searchd进行查询并将结果返回到该表时,该特殊表是动态构建的吗?还是该表包含由searchd填充的大量关键字?

根据文件有关狮身人面像(和为数不多的文章 ,我发现是有益的 )我真的不知道什么是由与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(关键字)),但我不知道SphinxSE版本中该如何使用或是否仍然使用它。 任何其他帮助将不胜感激。 谢谢。

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

本文介绍如何使用该界面: 使用SphinxSE

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

那是您告诉它连接到现有的Sphinx服务器的地方。 有很多文档说明了如何设置狮身人面像。 实际上,在sphinx网站上甚至链接了一篇文章,引导您完成所有与MySQL一起使用的设置: Sphinx和MySQL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM