本例是在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-安装和配置的更多相关文章

  1. centos 下 sphinx安装和配置

    一.安装前提必备先安装工具 yum -y install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml ...

  2. sphinx 全文搜索引擎安装与配置

    sphinx 全文搜索引擎 sphinx的安装与配置 ------------------------------------------------------------------------- ...

  3. Sphinx下载、安装、配置、Hello World、文档阅读

    sphinx下载.安装.配置.Hello World.查看文档

  4. sphinx安装记录 转

    [转]sphinx服务器安装及配置详解 安装PHP sphinx扩展 1.架构:ip192.168.0.200 redhat5.4(64位)2.安装   #cd /usr/local/src   #y ...

  5. Sphinx安装流程及配合PHP使用经验

    1.什么是Sphinx Sphinx是俄罗斯人Andrew Aksyonoff开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行. 全文检索式指以文档的全部文本信息作为检索对象的一种信息检 ...

  6. Linux Sphinx 安装与使用

    一.什么是 Sphinx? Sphinx 是一个基于SQL的全文检索引擎,可以结合 MySQL,PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序 更容易实现专业化 ...

  7. Sphinx 安装与使用

    Sphinx 优点 高速索引(接近10M/S) 高速搜索(2-4G文本搜索耗时不到0.1秒) 高可用性(单CPU支持100GB文本,100M文档) 提供相关性排名.分布式搜索.文档摘要(高亮显示) S ...

  8. sphinx 安装使用

    一.linux(centos)下安装源码包 1.下载  wget http://sphinxsearch.com/files/sphinx-2.3.1-beta.tar.gz 2.安装   切换目录到 ...

  9. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

  10. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

随机推荐

  1. 【贪心】AtCoder Regular Contest 079 E - Decrease (Judge ver.)

    每次将最大的数减到n以下,如此循环直到符合题意. 复杂度大概是n*n*log?(?). #include<cstdio> #include<iostream> #include ...

  2. 【并查集】POJ2236-Wireless Network

    [题目大意] 已知每一台电脑只能与它距离为d的电脑相连通,但是两台电脑间可以以第三台作为媒介连接.现在电脑全被损坏.每次可以进行两个操作中的一个,或是修好一台电脑,或是查询两台电脑是否连通. [思路] ...

  3. PHP 自定义字符串中的变量名解析

    PHP 自定义字符串中的变量名解析   这样一个需求:页面的 title 可以在后台自定义,自定义内容中可能包含变量,变量用 {$var} 表示, 其中 $var 为变量名 将 title 字段存入数 ...

  4. NServiceBus入门:启程(Introduction to NServiceBus: Getting started)

    原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/1-getting-started/ 侵删. 最好的学习NService ...

  5. Linux命令-挂载命令:mount

    设置虚拟机放入光盘,并且选中“已连接” mkdir /mnt/cdrom 设置光盘目录 ll /dev/cdrom 查看cdrom的软连接长格式信息 mount -t iso9660 /dev/sr0 ...

  6. 用GDB 调试Java程序

      陈皓 http://blog.csdn.net/haoel 背景 想要使用GDB调试程序,就需要用GNU的编译器编译程序.如:用GCC编译的C/C++的程序,才能用GDB调试.对于Java程序也是 ...

  7. winform WebBrowser如何修改使用默认的IE浏览器版本

    在搜了一些相关资料原来WebBrowser使用的是IE的兼容模式进行浏览(IE7模式). 建议:先添加注册表中,然后使用注册表编辑器导出功能,产生reg注册文件:方便日后使用. Winform  We ...

  8. BootstrapValidator

    一.引入必要文件 <link rel="stylesheet" href="/path/to/bootstrap/css/bootstrap.css"/& ...

  9. 【js】js数组置空的三种方式

    方式1: var arr = new Array(1,2,3); alert(arr); arr.splice(0, arr.length); alert(arr); 方式2: var arr = n ...

  10. Java构造和解析Json数据的两种方法详解二——org.json

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html 在www.json.org上公布了很多JAVA下的jso ...