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