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 ...
随机推荐
- 【BZOJ 2646】【NEERC 2011】flight
http://www.lydsy.com/JudgeOnline/problem.php?id=2646 夏令营alpq654321讲课时说这道题很简单但并没有几个人提交,最近想复习一下线段树,脑袋一 ...
- 【map】【分解质因数】CDOJ1572 Espec1al Triple
先把公比为1,即前项 中项 末项相同的统计出来.对每一类数C(n,3)即可. 然后我们发现,因为a1*a3=(a2)^2,所以a1和a3进行质因子分解之后,每一个质因子的指数的奇偶性必然相同,否则无法 ...
- [AGC019E]Shuffle and Swap
[AGC019E]Shuffle and Swap 题目大意: 给出两个长度为\(n(n\le10000)\)的\(01\)串\(A_{1\sim n}\)和\(B_{1\sim n}\).两个串均有 ...
- 原生js封装的一些jquery方法
用js封装一些常用的jquery方法 记录一下 hasClass:判断是否有class function hasClass(ele, cls) { if (!ele || !cls) return f ...
- uboot如何检测XC2440是从Nand或Nor启动
转:http://blog.chinaunix.net/uid-22030783-id-3347621.html 在XC2440开发板上做uboot从nandflash启动时,需要检测硬件启动方式,启 ...
- Struct2_使用Ajax调用Action方法并返回值
一.Login.jsp 1.<head>引入jquery: <script type="text/javascript" src="http://aja ...
- linux gcc升级备忘录
1. 拉包 sudo wget http://mirrors.opencas.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2 #如果以上给出的镜像不可用,也可以是使用h ...
- You must have a TTY to run sudo
1.方法一,给命令行添加tty ssh -t user@foo.com 2.使用sudo visudo修改配置: Defaults:user !requiretty 表示用户user使用sudo命令时 ...
- 安装pip源
国内源地址: 豆瓣(douban) http://pypi.douban.com/simple/ 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 h ...
- python命令行添加自动补全和命令历史功能
# python startup file import readline import rlcompleter import atexit import os # tab completion re ...