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 数据库中搜索并使用结果获取我的常规数据库中的完整数据。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。