《中关村北大青鸟:sphinx之创建索引》.doc
文本预览下载声明
中关村北大青鸟:sphinx之创建索引
创建索引
-c 指定配置文件
--all 对所有索引重新编制索引。
--rotate 用于轮换索引,主要是再不停止服务的时候,增加索引。
--buildstops --buildfreqs 要一起使用,
例:indexer myindex --buildstops text.txt 1000 --buildfreqs
会在当前目录下生成,一个名字叫text.txt,最多包含1000个词的词表。
--merge 合并索引
/usr/local/sphinx/bin/indexer -c /usr/local/sphinx/etc/sphinx.conf --all
创建索引如果报了一个这样的错误:/usr/local/sphinx/bin/indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
可以用下面方法解决:
cp /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
再次运行创建索引命令就能完成索引的创建了
/usr/local/sphinx/bin/indexer --all
出现这样的提示就表示创建成功
测试创建的索引
检查数据命令:search (详细方法会调用API使用)
/usr/local/sphinx/bin/search -c test(test关键字)
可以看到将数据中含有test关键字的数据查询出来,包括文档id,权重,属性值等
我们搜索下中文看下
/usr/local/sphinx/bin/search -c /usr/local/sphinx/etc/sphinx.conf ‘方研矩行‘
可以看到,没有查找到;
Coreseek中文分词
cd /lamp
tar -zxvf coreseek-3.2.14.tar.gz
进入到mmseg所在文件夹,先安装中文分词mmseg。
cd /lamp/coreseek-3.2.14/mmseg-3.2.14/
./bootstrap //输入的warming信息可以忽略,error需要解决
./configure --prefix /usr/local/mmseg
Make make install
然后运行mmseg,就能输入安装成功的信息了:
/usr/local/mmseg/bin/mmseg
出现这个就安装成功啦
接下来,我们要把Sphinx和mmseg结合起来
(1)检测安装
进入coreseek目录,进行安装。
cd /lamp/coreseek-3.2.14/csft-3.2.14/
./configure --prefix /usr/local/coreseek --with-mysql /usr/local/mysql --with-mmseg /usr/local/mmseg --with-mmseg-includes /usr/local/mmseg/include/mmseg/ --with-mmseg-libs /usr/local/mmseg/lib/
make make install
2 配置带有中文分词的sphinx配置文件
配置文件和上面的步骤一样,只不过是在coreseek中,有几个地方需要注意。
注意:coreseek中得配置文件也是sphinx.conf,而不是coreseek.conf。
3 生成索引并测试
创建索引
/usr/local/coreseek/bin/indexer ?c /usr/local/coreseek/etc/sphinx.conf ?all
再次测试搜索中文
/usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/sphinx.conf 方研矩行
出现如下结果
表示我们在linux下Sphinx,中文分词已经安装完成了,并测试成功
我们可以给/usr/local/coreseek/etc/sphinx.conf这个sphinx.conf重命名为csft.conf,那么上面的创建索引的语句就变为:
/usr/local/coreseek/bin/indexer ?all
查看索引是否创建成功的语句就变为:
/usr/local/coreseek/bin/search 方研矩行
到此,sphinx中文分词已经配置成功啦
配置增量索引前,要先创建一个计数表sph_counter,记录将文档集分为两
显示全部