1.Sphinx安装:
(1).安装命令:
#wgethttp://sphinxsearch.com/files/sphinx-2.3.1-beta.tar.gz
#tar -zxvf
#cd
#./configure --prefix=/opt/sphinx --with-mysql(如果mysql是通过yum安装的,可以不指定路径)
#make && make install
(2).安装完成后,会在安装目录处生成3个重要的命令:
Indexer:创建索引命令
Searchd:启动进程命令
Search:命令行搜索命令
(3).目录结构:
bin:命令文件
etc:配置文件
var:索引表
2.Mysql文档准备:
(1).创建数据表:
create table post(
id int unsigned auto_increment primary key,
title varchar(254),
content text
) ENGINE=MyISAMDEFAULT CHARSET=utf8;
(2).新增数据:
insert into post(title,content) values("linux1","linux11");
insert into post(title,content) values("php1","php11");
3.修改Sphinx配置文件:
#cd etc
#cp sphinx.conf.dist sphinx.conf
(1).配置文件格式:
主数据源:
source main{
}
增量数据源:
source delta:main{
}
主数据索引:
index main{
}
增量数据索引:
index delta:main{
}
分布式索引:
index dist1{
}
索引器:
indexer{
}
服务进程:
searchd{
}
(2).sphinx.conf的基本配置:
主数据源:
source src1{
type=mysql #数据库类型
sql_host=localhost #Mysql主机IP
sql_user=root #Mysql用户名
sql_pass=123 #Mysql密码
sql_db=sphinx #Mysql数据库
sql_port=3306 #Mysql端口
sql_sock=/tmp/mysql.sock #如果是linux下需要开启,指定socck文件
sql_query_pre=SET NAMES UTF8 #Mysql检索编码
sql_query_pre=SET SESSION query_cache_type=OFF #关闭缓存
sql_query=\ #获取数据的SQL语句:SELECT id,title,content FROM post
#sql_attr_uint=group_id #对排序字段进行注释
#sql_attr_timestamp=date_added #对排序字段进行注释
sql_query_info=SELECT * FROM post WHERE id=$id #来查找匹配记录,在查询中$id 被替换为 searchd 返回的每个主键(调试时使用,建议注释此项)
}
主数据索引:
index src1{
source=main #索引数据来源
path=/opt/sphinx/var/data/main #索引文件路径
charset_type=utf-8 #数据编码
charset_table= #上面设置了utf-8,这里需要开启
}
注:linux给多行加注释::707,742s/^/#/g
4.indexer索引器:
创建索引命令:indexer
-c:指定配置文件
--all:对所有索引重新编制索引
--rotate:用于轮换索引,主要是在不停止服务的时候,增加索引
--merge:合并索引(将增量索引合并到主索引)
实例:
./indexer --all
5.search搜索:
./search linux1
网友评论