Sphinx.conf配置文档

本文详细介绍了Sphinx配置文件sphinx.conf的各个部分,包括Source、Index、Indexer和Searchd的配置,以及如何建立索引、执行搜索和监听端口。Sphinx用于全文检索,配置中涉及数据库连接、索引设置、搜索服务等关键参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

                                          Sphinx.conf 配置文档

一.    创建 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/GBK)

Sql_query=            全文检索要显示的内容 , 据官方说法 : 尽可能不要使用 WHERE GROUPBY , 将其交给 SPHINX 效率会更高 ;select 出来的字段必须包含至少一个唯一主键 , 以及全文检索的字段

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)

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

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

read_timeout=        请求超时 (5)

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

pid_file=                进程 ID 文件

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

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

至此 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 后要重建索引 .

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值