sphinx 搜索 : getting rt indexing to work with mysql之first time

qlqwjy 阅读:56 2024-11-01 17:39:52 评论:0

我试图让 rt 索引工作:
http://sphinxsearch.com/docs/current.html#rt-overview

我错过了 sphinx 和 mysql 之间的链接。

在 sphinx.conf 我有:

index rt_test 
{ 
        type = rt 
        path = /home/my/path/sphinx/data/rt_test 
        rt_field = title 
        rt_field = content 
} 

我运行/home/path/bin/indexer --all

它告诉我
skipping non-plain index 'rt_test'... (which I read is as it should be) 

然后在 mysql 中(像往常一样登录):
create table rt_test(id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, title varchar(100), 
content varchar(100)); 
 
insert into rt_test(title, content) values ("test title", "test content"); 
 
SELECT * FROM rt_test WHERE MATCH('test'); 

这给了我一个“错误的语法”错误。这并不奇怪。 Mysql 只是认为我
已经创建了一个常规表并插入了常规数据,现在它不理解
sphinx 查询。

那么缺少的链接是什么? mysql 如何知道 sphinx?如果我不先创建表,则会收到表不存在的错误(sphinx 没有制作要从 mysql 查询的“sphinx”表)。

我已经在 Linux 上安装了 sphinx,如下所述:
http://sphinxsearch.com/docs/current.html#installing

使用这个版本:

wget http://sphinxsearch.com/files/sphinx-2.0.8-release.tar.gz

编辑:我也跑了 $searchd
It says: 
 
WARNING: compat_sphinxql_magics=1 is deprecated; please update your applica 
WARNING: preopen_indexes=1 has no effect with seamless_rotate=0 
listening on all interfaces, port=9312 
listening on all interfaces, port=9306 
precaching index 'other' 
precaching index 'rt_test' 
precached 2 indexes in 0.012 sec 

请您参考如下方法:

我现在明白了。

我没有登录到我的常规 mysql 数据库,但是(很有趣)按照它说的做:

$ mysql -h 127.0.0.1 -P 9306 

然后我不创建表。只需插入和搜索。

我的常规数据库和 sphinx mysql 是完全分开的。我必须将所有数据插入到我的常规数据库和 sphinx 数据库中。然后在 sphinx 数据库中搜索并使用结果获取我的常规数据库中的完整数据。


标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号