本文介绍下如何在ubuntu系统中,利用apt工具,搭建mysql+sphinx的全文检索环境。
一 安装mysql
1 更新源列表
打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入root用户的密码"-->回车,就可以了。如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载,您可以运行apt-get update------"的错误提示,导致无法安装。
2 安装mysql
打开"终端窗口",输入"sudo apt-get install mysql-server mysql-client"-->回车-->输入"y"-->回车-->在"软件包设置对话框"中输入mysql中"root"用户的密码-->回车-->再输一次密码-->回车,安装完成。
3 如何判断mysql是否安装成功
打开"终端窗口",输入"sudo service mysql restart"-->回车-->如果mysql启动成功,处于运行状态说明mysql安装成功。
4 让apache支持mysql
打开"终端窗口",输入"sudo apt-get install libapache2-mod-auth-mysql"-->回车-->安装成功,安装这个模块后,apache才能支持mysql。
5 让php支持mysql
打开"终端窗口",输入"sudo apt-get install php5-mysql"-->回车-->安装成功,安装这个模块后,php才能支持mysql。
6 登录mysql
打开"终端窗口",输入"mysql -u root -p"-->回车-->输入mysql中"root"用户的密码-->回车-->登录成功。
二安装sphinx
01、安装全文搜索引擎 Sphinx 前,必须先安装 MySQL server 并设置数据库 root 用户(参考步骤一) 02、使用 apt-get 方法直接安装 Sphinx:
03、创建全文搜索引擎 Sphinx 的配置文件:
cp /etc/sphinxsearch/sphinx.conf.sample /etc/sphinxsearch/sphinx.conf vi /etc/sphinxsearch/sphinx.conf
复制代码
配置全文搜索引擎 Sphinx 的配置文件:
sql_user = test sql_pass = # compat_sphinxql_magics = 1
复制代码
将以上代码改为
sql_user = root sql_pass = 您的数据库 root 用户密码 compat_sphinxql_magics = 0
复制代码
04、开启 sphinxsearch 功能:
vi /etc/default/sphinxsearch
复制代码
将其中的
改为
05、创建 test 数据库:
root:~# mysql -u root -p Enter password: 键入您的数据库 root 用户密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 20177 Server version: 5.5.40-0ubuntu0.14.04.1 (Ubuntu) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>create database test; Query OK, 1 row affected (0.00 sec) mysql> use test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> exit Bye root:~#
复制代码
06、将 test 数据库范例文件
/etc/sphinxsearch/example.sql
复制代码
下载到本地计算机 07、导入example.sql
mysql -u root -p你的root密码 -Dtest < /etc/sphinxsearch/example.sql
说明 example.sql 文件导入 test 数据库成功 08、建立全文搜索引擎 Sphinx 的索引:
09、启动全文搜索引擎 Sphinx 服务:
root:~# service sphinxsearch start Starting sphinxsearch: Sphinx 2.0.4-id64-release (r3135) Copyright (c) 2001-2012, Andrew Aksyonoff Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com) using config file '/etc/sphinxsearch/sphinx.conf'... listening on all interfaces, port=9312 listening on all interfaces, port=9306 precaching index 'test1' precaching index 'test1stemmed' WARNING: multip le addresses found for 'localhost ', using the first one (ip=127.0.0.1 ) precaching index 'rt' precached 3 indexes in 0.001 sec sphinxsearch. root:~#
复制代码
10、测试搜索 EN 单词 test
root:~# /usr/bin/search test Sphinx 2.0.4-id64-release (r3135) Copyright (c) 2001-2012, Andrew Aksyonoff Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com) using config file '/etc/sphinxsearch/sphinx.conf'... index 'test1': query 'test ': returned 3 matches of 3 total in 0.000 sec displaying matches: 1. document=1, weight=2421, group_id=1, date_added=Mon Dec 22 15:30:18 2014 id=1 group_id=1 group_id2=5 date_added=2014-12-22 15:30:18 title=test one content=this is my test document number one. also checking search within phrases. 2. document=2, weight=2421, group_id=1, date_added=Mon Dec 22 15:30:18 2014 id=2 group_id=1 group_id2=6 date_added=2014-12-22 15:30:18 title=test two content=this is my test document number two 3. document=4, weight=1442, group_id=2, date_added=Mon Dec 22 15:30:18 2014 id=4 group_id=2 group_id2=8 date_added=2014-12-22 15:30:18 title=doc number four content=this is to test groups words: 1. 'test': 3 documents, 5 hits index 'test1stemmed': query 'test ': returned 3 matches of 3 total in 0.000 sec displaying matches: 1. document=1, weight=2421, group_id=1, date_added=Mon Dec 22 15:30:18 2014 id=1 group_id=1 group_id2=5 date_added=2014-12-22 15:30:18 title=test one content=this is my test document number one. also checking search within phrases. 2. document=2, weight=2421, group_id=1, date_added=Mon Dec 22 15:30:18 2014 id=2 group_id=1 group_id2=6 date_added=2014-12-22 15:30:18 title=test two content=this is my test document number two 3. document=4, weight=1442, group_id=2, date_added=Mon Dec 22 15:30:18 2014 id=4 group_id=2 group_id2=8 date_added=2014-12-22 15:30:18 title=doc number four content=this is to test groups words: 1. 'test': 3 documents, 5 hits index 'rt': search error: failed to open /var/lib/sphinxsearch/data/rt.sph: No such file or directory. root:~#
复制代码
11、好啦,一切 OK
三测试