Sphinx/MySQL 协议支持与SphinxQL

阅读原文:http://www.yzswyl.cn/blread-1612.html

Sphinx的searchd守护程序从 版本0.9.9-rc2开始支持MySQL二进制网络协议,并且能够通过标准的MySQL API访问。例如,“mysql”命令行程序可以很好地工作。以下是用MySQL客户端对Sphinx进行查询的例子:

 

$ mysql -P 9306
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 0.9.9-dev (r1734)
     
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
     
mysql> SELECT * FROM test1 WHERE MATCH('test')
    -> ORDER BY group_id ASC OPTION ranker=bm25;
+------+--------+----------+------------+
| id   | weight | group_id | date_added |
+------+--------+----------+------------+
|    4 |   1442 |        2 | 1231721236 |
|    2 |   2421 |      123 | 1231721236 |
|    1 |   2421 |      456 | 1231721236 |
+------+--------+----------+------------+
3 rows in set (0.00 sec)

开启方法:

当然这只需要更动一行配置文件,加入一个协议为mysql41的listener就可以了:

listen = localhost:9306:mysql41

sphinx现在还支持SQL的一个很小的子集,我们给这个子集起个绰号,叫SphinxQL。它只支持部分语法:如:count(*)是不支持的,不支持“&(与)操作”等。【如需查找总结果数参考:sphinxql如何得到结果数?show meta的详细说明?

其他详细使用参考:http://sphinxsearch.com/docs/1.10/sphinxql-reference.html

posted @ 2012-12-04 14:00  雪洁  阅读(2074)  评论(0编辑  收藏  举报