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)

#下面的语句是更新sph_counter表中的 ;max_doc_id。

sql_query_pre ;= ;REPLACE ;INTO ;sph_counter ;SELECT ;1, ;MAX(id) ;FROM ;document

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

Sql_query_info=SELECT ;* ;FROM ;Inventory ;WHERE ;id=$id ;Strip_html=

0/1 ;是否去掉 ;HTML标签

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

Sql_attr_float ;浮点型

Sql_attr_timestamp ;时间戳

Sql_attr_str2ordinal字符串型这个属性类型(简称为字串序数)的设计是为了允许按字符串值排序,但不存储字符串本身。

三.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)

//以下三句是关于UTF-8中文一元分词的配置

ngram_len=对于非字母型数据的长度切(1)

charset_table= ;0..9, ;A..Z->a..z, ;_, ;a..z,U+410..U+42F->U+430..U+44F, ;U+430..U+44F

ngram_len=1

ngram_chars=U+3000..U+2FA1F

四.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<wbr/>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); ;// ;设置服务

$search->setSearch_start(($page-1) ;* ;$pageSize);//分页

$search->setSearch_limit($pageSize ;*1);

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

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

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

$result=$cl->Query('ff',[索引名称可选]); ;// ;执行搜索,索引名称指的是下面例子中的member,

member_delta

Var_dump($result); ;// ;输出

例子:

source ;member

{

; ; ; ; ; ; ;type ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;mysql

; ; ; ; ; ; ;sql_host ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;localhost

; ; ; ; ; ; ;sql_user ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;XXX

; ; ; ; ; ; ;sql_pass ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;XXX

; ; ; ; ; ; ;sql_db ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;XXX

; ; ; ; ; ; ;sql_port ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;3306

; ; ; ; ; ; ;sql_query_pre ; ; ; ; ; ; ; ; ; ; ;= ;SET ;NAMES ;utf8

; ; ; ; ; ; ;sql_query_pre ; ; ; ; ; ; ; ; ; ; ;= ;SET ;SESSION ;query_cache_type=OFF

; ; ; ; ; ; ;sql_query ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;

; ; ; ; ; ; ; ; ; ; ; ; ; ; ;SELECT ;members.uid ;as ;uid,members.username ;as ;username ;FROM ;members

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;where ;member_status ;=1 ;and ;uid ;not ;in ;

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;(SELECT ;distinct ;user_id ;FROM ;`fct_faction_member`)

}

source ;member_delta ;: ;member

{

; ; ; ; ; ; ;sql_query_pre ; ; ; ; ; ; ; ; ; ; ;= ;SET ;NAMES ;utf8

; ; ; ; ; ; ;sql_query_pre ; ; ; ; ; ; ; ; ; ; ;= ;SET ;SESSION ;query_cache_type=OFF

; ; ; ; ; ; ;sql_query ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;SELECT ;members.uid ;as ;uid,members.username ;as ;username ;FROM ;members

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;where ;member_status ;=1 ;and ;uid ;not ;in ;

; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;(SELECT ;distinct ;user_id ;FROM ;`fct_faction_member`)

}

index ;member

{

; ; ; ; ; ;source ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;member

; ; ; ; ; ; ;path ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;/data0/coreseek/var/data/member_test

; ; ; ; ; ; ;docinfo ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;extern

; ; ; ; ; ; ;charset_dictpath ; ; ; ; ; ; ; ;= ;/usr/local/webserver/mmseg/etc/

; ; ; ; ; ; ;mlock ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;0

; ; ; ; ; ; ;morphology ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;none

; ; ; ; ; ; ;min_word_len ; ; ; ; ; ; ; ; ; ; ; ;= ;1

; ; ; ; ; ; ;html_strip ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;0

; ; ; ; ; ; ;charset_type ; ; ; ; ; ; ; ; ; ; ; ;= ;zh_cn.utf-8

; ; ; ; ; ; ;ngram_len ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;0

}

index ;member_delta

{

; ; ; ; ; ; ;source ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;member_delta

; ; ; ; ; ; ;path ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;/data0/coreseek/var/data/member_delta_test

; ; ; ; ; ; ;docinfo ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;= ;extern

; ; ; ; ;&

相关推荐