Sphinx 配置文件说明

一.    创建sphinx.conf文件

其结构组成主要如下:

Source 源名称1{                //指定数据源

       一些配置

}

Index 索引名称1{

     Source=源名称1

}

Source 源名称2{

一些配置

}

Index 索引名称2{

      Source=源名称2

}

Indexer{

mem_limit = 32M

}

Searchd{                             //配置 searchd 守护程序本身

}

二.    Source 源名称 相关配置说明

Type=数据库类型(Mysql 或SQL);

Sql_host=              数据库主机地址(如果是外网,请确保防火墙允许链接)

Sql_user=                     数据库用户名

Sql_pass=                     数据库密码

Sql_db=                 数据库名称

Sql_port=               数据库端口

Sql_query_pre=      执行SQL前设置的编码 (SET NAMES UTF8)

Sql_query=            全文检索要显示的内容,据官方说法:尽可能不要使用WHERE或GROUPBY ,将其交给SPHINX效率会更高;select 出来的字段必须包含至少一个唯一主键,以及全文检索的字段 sphinx 会对SELECT 中的 字段1 ,字段2 建立sphinx自己的索引 及 在查询的字段中查找关键字

Sql_query_info= SELECT * FROM Inventory WHERE id=$id  来查找匹配记录 在查询中,$id 被替换为 searchd 返回的每个主键 (调试是使用 建议注释此项)

Strip_html= 0/1      是否去掉HTML标签

Sql_attr_uint=         无符号整数属性,可以设置多个,设置数据库字段,设置哪个能显示出哪个字段数据的整形来.

三.    Index中配置说明

Source=                 数据源名称

Path =                 索引记录存放目录,注:d:/sphinx/data/cg 这个的意思是 在data目录下创建一个名为cg的文件

       min_word_len=      索引的词的最小长度 设为1 既可以搜索单个字节搜索,越小 索引越精确,但建立索引花费的时间越长

       charset_type=        utf-8/gbk 设置数据编码

charset_table=        字符表和大小写转换规则 .频繁应用于sphinx的分词过程

min_prefix_len =    最小前缀(0)

min_infix_len =      最小中缀(1)

ngram_len =        对于非字母型数据的长度切割(默认已字符和数字切割,设置1为按没个字母切割)

四.    searchd配置说明

port=                     sphinx的端口(9312 与 searchd.exe监听结果一致)

log=                      服务进程日志存放路径,一旦sphinx出现异常,基本上可以从这里查询有效信息

query_log=             客户端查询日志 尤为有用 它将在运行时显示每次搜索并显示结果

read_timeout=        请求超时(5)

max_children=        同时可执行的最大searchd 进程数(30)

pid_file=                进程ID文件

max_matches=              查询结果的最大返回数

seamless_rotate=    是否支持无缝切换,做增量索引时通常需要(0/1)

 

   # 在启动运行时是否提前加载所有索引文件 
    preopen_indexes = 0

    # 是否释放旧的索引文件 
    unlink_old = 1

    # MVA跟新池大小(默认为1M) 
    mva_updates_pool = 1M

    # 最大允许的网络包大小(默认8M) 
    max_packet_size = 8M

    # 每个查询最大允许的过滤器数量(默认256) 
    max_filters = 256

    #每个过滤器最大允许的值的个数(默认4096) 
    max_filter_values = 4096

    # 每个组的最大查询数(默认为32) 
    max_batch_queries = 32

 

 

 

至此 spninx.conf 配置文件结束;注意:如果有换行 必须用反斜杠 \ 链接

五.    sphinx建立所以 及监听

切换到 DOS sphinx/bin 目录下

1.       建立索引

Indexer –c sphinx.conf 索引名称/–all (–all参数是建立所有索引)

完成后提示如下:

total 535600 docs, 10707632 bytes

total 34.323 sec, 311958 bytes/sec, 15604.27 docs/sec

total 5 reads, 0.282 sec, 45592.6 kb/call avg, 56.4 msec/call avg

total 547 writes, 12.172 sec, 1017.0 kb/call avg, 22.2 msec/call avg

2.       建立完成后

可以执行 search [–c] sphinx.conf 搜索内容 (-c参数:是否允许模糊搜索)

3.       监听端口

Searchd

运行后 提示

listening on all interfaces, port=9312

accepting connections

监听成功后 既可以运行PHP程序 进行 搜索

              PHPCODE:

                     require(“sphinxapi.php”);              //加载类文件

$cl=new SphinxClient();               //实例化类

$cl->SetServer(‘localhost’,9312); //设置服务

$cl->SetArrayResult(true);           //设置 显示结果集方式

$cl->SetLimits(0,10);                   //同 sql语句中的LIMIT

$cl->SetSortMode(“mode”);         //排序模式 SPH_SORT_ATTR_DESC和SPH_SORT_ATTR_ASC

$result=$cl->Query(‘ff’,[索引名称可选]);                 //执行搜索

Var_dump($result);                      //输出

       注意:每次修改sphinx.conf后要重建索引.

时间: 2024-09-17 23:26:08

Sphinx 配置文件说明的相关文章

sphinx 配置文件全解析

sphinx的配置文件是在配置的时候最容易出错的了: 我们先要明白几个概念: source:数据源,数据是从什么地方来的. index:索引,当有数据源之后,从数据源处构建索引.索引实际上就是相当于一个字典检索.有了整本字典内容以后,才会有字典检索. searchd:提供搜索查询服务.它一般是以deamon的形式运行在后台的. indexer:构建索引的服务.当要重新构建索引的时候,就是调用indexer这个命令. attr:属性,属性是存在索引中的,它不进行全文索引,但是可以用于过滤和排序.

Sphinx 配置文件的说明【备忘】

## 数据源src1 source src1 { ## 说明数据源的类型.数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,python是一种语言怎么可以成为数据源呢? ## python作为一种语言,可以操作任意其他的数据来源来获取数据,更多数据请看:(http://www.coreseek.cn/products-install/python/) type = mysql ## 下面是sql数据库特有的端口,用户名,密码,数据库

sphinx文档使用graphviz来画图例子

Sphinx是用来写文档的利器,虽然比Markdown来的麻烦一些,但是功能强大,用起来也还很不错.考虑到不同文档之间内的跳转,还有把文档从拆分成多个小文档,而且reStructuredText语言入门成本不高,所以用了sphinx-docs来做文档的编写. 用Word来编写文档?呃...请赐我一刀.使用Word来进行编排文档,在多人协作的情况下,简直惨不忍睹,文档的格式乱七八糟. reStructuredText再通过LeTax来编译生成pdf也是很方便的. 为什么要用graphviz来画图?

PHP+Sphinx建立高效的站内搜索引擎

1.    为什么要使用Sphinx假设你现在运营着一个论坛,论坛数据已经超过100W,很多用户都反映论坛搜索的速度非常慢,那么这时你就可以考虑使用Sphinx了(当然其他的全文检索程序或方法也行). 2.    Sphinx是什么 Sphinx由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行. 全文检索是指以文档的全部文本信息作为检索对象的一种信息检索技术.检索的对象有可能是文章的标题,也有可能是文章的作者,也有可能是文章摘要或内容.

sphinx 相关收藏

sphinx Coreseek开源中文检索引擎-Sphinx中文版 - 首页 - 论坛搜索.信息检索.文献检索.站内搜索的专业系统 基于Sphinx构建准实时更新的分布式实时搜索引擎_inJava_百度空间 Sphinx学习之sphinx的安装篇-飞鸿无痕-ChinaUnix博客 Ubuntu下Coreseek的安装配置 - 51CTO.COM ubuntu11.04下 coreseek 4.1 安装小记 - 斗战圣Q - 博客频道 - CSDN.NET sphinx配置,中文分词,PHP调用s

sphinx 的安装配置及php使用例子

先当然是从sphnix网站下载sphinx源码包,当前最新版本是:http://www.sphinxsearch.com/downloads/ 当然,还需要保证你的系统已经安装了MySQL. 其次,就是依照官方的安装指导进行安装了,基本步骤如下: 官方入门文档 http://www.sphinxsearch.org/archives/80 1.解压sphinx源码包: mac 版直接解压就能用 http://sphinxsearch.com/files/sphinx-2.2.10-release

用 PHP 构建自定义搜索引擎

虽然 Google 及其系列产品几乎无所不能,但是 Web 形式的强大搜索引擎并不能很好地适用于每个站点.如果站点内容已被高度专业化或已明确分类,那就需要使用 Sphinx 和 PHP 来创建一个优化的本地搜索系统. 在 Internet 时代,人们希望信息能够像快餐一样被打包起来:能够快速无障碍使用,并且分为很小的单位(或者是以字节 大小为单位?).实际上,为了满足急躁而又渴求信息的用户的需求,甚至最普通的 Web 站点现在都要求具有快速浏览样式的各种菜单: ·RSS 是比萨快递员,会把新鲜出

sphinx利用配置来进行分布式部署的方法和配置详解

1:主配置文件 dist.conf source sour1{}建立源1 index index1{}建立索引1   这些配置不多说 index dist{       type = distributed //表示为分布式       local = index1    //本地索引       agent = localhost:9311:index2   //分布式其它索引ip地址端口和索引名称  可以有多个 } searchd{  listen = 9312 pid_file = F:/

Windows下安装使用Sphinx

1. 从http://sphinxsearch.com 下载Sphinx  2.0.1-beta 2. 解压缩到合适目录(这里以d:\shpinx为例) 3. 建立配置文件 Sphinx包默认附带sphinx.conf.in,sphinx-min.conf.in,example.sql例子,我们完全可以从 sphinx-min.conf.in复制出一个sphinx.conf用来测试. 修改sphinx.conf必要项(数据库作为数据源):mysql数据库连接项(参照example.sql建立测试