Sphinx-安装和配置
本例是在Linux下, 环境 CentOS6.5 + PHP5.6.8 + MySQL5.6.13 + Sphinx2.3.1-beta
第一种方式是采用API调用, 我们可以使用PHP, Python, Perl, Ruby等编程语言的API函数进行查询, 这种方式不必重新编译MySQL, 模块间改动比较少, 相对灵活
第二种需要重新编译MySQL, 将Sphinx以插件的方式编译到MySQL中去, 这种方式对程序改动比较少, 仅仅需要改动SQL语句即可, 但前提是你的MySQL版本必须在5.1以上
Linux下源码安装:
yum -y install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel
./configure --prefix /usr/local/sphinx --with-mysql=/usr/local/mysql --enable-id64
make && make install
安装完毕, 目录如下:
bin: 可执行文件目录
indexer 用来生成索引数据, 创建索引, 收集要被检索的数据
searchd 后台进程, 使用 indexer 生成的数据做查询
etc: 配置文件目录
var: 索引等数据存放目录
配置, Sphinx默认使用 etc/sphinx.conf, 如果没有, 则拷贝sphinx.conf.dist一份到sphinx.conf:
#设置主数据源配置, 与增量数据源分开, 避免重复建立索引, 只为增量数据源建立索引即可
source src1
{
type = mysql #数据库类型
sql_host = localhost
sql_user = root
sql_pass =
sql_db = test
sql_port = # optional, default is
sql_sock = /tmp/mysqld.sock #如果是Linux下需要开启, 指定sock文件
sql_query_pre = SET NAMES utf8 #预执行语句
sql_query_pre = SET SESSION query_cache_type=OFF #关闭缓存
sql_query = \
SELECT id, title, content FROM post #获取数据的SQL语句 sql_query_info = SELECT * FROM post WHERE id=$id #必须要有 此处id与sql_query中的id键名相同 #sql_attr_uint = group_id #对排序字段进行注释 原自带表中的字段
#sql_attr_timestamp = date_added #对排序字段进行注释 原自带表中的字段 sql_ranged_throttle =
}
#src1主数据源的增量数据源, 继承主数据源
#source src1throttled : src1
#{
# sql_ranged_throttle =
#}
#建立主数据索引test1
index test1
{
source = src1 #索引的数据源
path = /usr/local/sphinx/var/data/test1 #索引文件所放目录
docinfo = extern
dict = keywords
mlock =
morphology = none
min_word_len = html_strip = charset_type = utf-
charset_table = utf-
}
#主数据索引test1的增量数据索引
#index test1stemmed : test1
#{
# path = /usr/local/sphinx/var/data/test1stemmed
# morphology = stem_en
#}
#建立主数据索引dist1
#index dist1
#{
## type = distributed
# local = test1
# local = test1stemmed
# agent = localhost::remote1
# agent = localhost::remote2,remote3
# agent_connect_timeout =
# agent_query_timeout =
#}
##建立主数据索引rt
#index rt
#{
# type = rt
# path = /usr/local/sphinx/var/data/rt
# rt_field = title
# rt_field = content
# rt_attr_uint = gid
#}
#索引器的配置, 主要用来设置索引器所占内存
indexer
{
mem_limit = 128M
}
#服务进程的配置
searchd
{
listen =
listen = :mysql41
log = /usr/local/sphinx/var/log/searchd.log
query_log = /usr/local/sphinx/var/log/query.log
read_timeout =
client_timeout =
max_children =
persistent_connections_limit =
pid_file = /usr/local/sphinx/var/log/searchd.pid
seamless_rotate =
preopen_indexes =
unlink_old =
mva_updates_pool = 1M
max_packet_size = 8M
max_filters =
max_filter_values =
max_batch_queries =
workers = threads # for RT to work }
common
{
}
a
Sphinx-安装和配置的更多相关文章
- centos 下 sphinx安装和配置
一.安装前提必备先安装工具 yum -y install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml ...
- sphinx 全文搜索引擎安装与配置
sphinx 全文搜索引擎 sphinx的安装与配置 ------------------------------------------------------------------------- ...
- Sphinx下载、安装、配置、Hello World、文档阅读
sphinx下载.安装.配置.Hello World.查看文档
- sphinx安装记录 转
[转]sphinx服务器安装及配置详解 安装PHP sphinx扩展 1.架构:ip192.168.0.200 redhat5.4(64位)2.安装 #cd /usr/local/src #y ...
- Sphinx安装流程及配合PHP使用经验
1.什么是Sphinx Sphinx是俄罗斯人Andrew Aksyonoff开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行. 全文检索式指以文档的全部文本信息作为检索对象的一种信息检 ...
- Linux Sphinx 安装与使用
一.什么是 Sphinx? Sphinx 是一个基于SQL的全文检索引擎,可以结合 MySQL,PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序 更容易实现专业化 ...
- Sphinx 安装与使用
Sphinx 优点 高速索引(接近10M/S) 高速搜索(2-4G文本搜索耗时不到0.1秒) 高可用性(单CPU支持100GB文本,100M文档) 提供相关性排名.分布式搜索.文档摘要(高亮显示) S ...
- sphinx 安装使用
一.linux(centos)下安装源码包 1.下载 wget http://sphinxsearch.com/files/sphinx-2.3.1-beta.tar.gz 2.安装 切换目录到 ...
- JDK安装与配置
JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
随机推荐
- Codeforces Round #450 (Div. 2) ABCD
这次还是能看的0 0,没出现一题掉分情况. QAQ前两次掉分还被hack了0 0,两行清泪. A. Find Extra One You have n distinct points on a p ...
- bzoj 1483: [HNOI2009]梦幻布丁
1483: [HNOI2009]梦幻布丁 Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1 ...
- Java如何进行异常处理
关键字:throws.throw.try.catch.finally的用法 Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口.在Java中,每个异常都是一个对象,它 ...
- 数组中的forEach和map的区别
大多数情况下,我们都要对数组进行遍历,然后经常用到的两个方法就是forEach和map方法. 先来说说它们的共同点 相同点 都是循环遍历数组中的每一项 forEach和map方法里每次执行匿名函数都支 ...
- mysql join优化
http://www.jb51.net/article/50427.htm 七.性能优化1.显示(explicit) inner join VS 隐式(implicit) inner join 如: ...
- FIS常用功能之MD5版本
静态资源后缀加上md5参数,有效解决缓存更新问题 fis release --optimize --md5 使用前后对比:
- JS的数组相关知识
创建数组方法一: var a1=new Array(5); console.log(a1.length); console.log(a1); //[] ,数组是空的 var a2=new Array( ...
- mac清理磁盘方法
1.清除缓存文件 cd ~/Library/Caches/ rm -rf ~/Library/Caches/* 2.删除所有系统日志 sudo rm -rf /private/var/log/*3.删 ...
- pgsql常用命令
连接数据库, 默认的用户和数据库是postgres psql -U user -d dbname 切换数据库,相当于mysql的use dbname \c dbname 列举数据库,相当于mysql的 ...
- Kudu – 在快数据上的进行快分析的存储
转自: http://www.tuicool.com/articles/nmYf2uf Cloudera Impala Kudu – 在快数据上的进行快分析的存储 Kudu,对应中文的含义应该 ...