[教程]freebsd8.0下安装coreseek

、安装coreseek

A、安装环境配置,为安装coreseek做准备

#pkg_add -r autoconf262 automake110 libtool mysql50-client libxml2 expat
B、下载整个安装包(内含mmseg,coreseek):
#fetch http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.13.tar.gz
#tar xzvf coreseek-3.2.13.tar.gz
#cd coreseek-3.2.13
======================================
C 安装coreseek开发的mmseg,为coreseek提供中文分词功能
#cd mmseg-3.2.13
#./bootstrap
#./configure –prefix=/usr/local/mmseg3
#make
#make install
至此,mmseg已经安装完成,下面进入csft-3.2.13目录里进行安装coreseek Continue reading

sphinx在windows下无法启动的解决办法

配置完成了sphinx,也安装成为系统服务,但在dos提示符下服务的时候错误

searchd –-install -–config d:/csft3.1/bin/xxxx.conf

相应的删除服务命令为:

searchd –delete

sphinex-services

这里有两种办法:
1.直接把配置文件复制到c:/windows/system32目录里一份就可以了.
2.在安装服务的时候指定配置文件的物理路径(–config d:/csft3.1/bin/csft.conf)

索引或者查询时提示:ERROR: invalid token in 配置文件 line 1 col 1.

该提示表示当前的配置文件的编码不是UTF-8(无BOM头)格式,无法正确解析,请使用编辑软件打开配置文件,另存为UTF-8(无BOM头)格式;

错误的编码格式包括:Unicode、Unicode BOM、Unicode big endian、Unicode 低位在前、UTF-8 + BOM、UTF-8 Signature、UTF-8 包含签名等;

特别注意:Windows自带的记事本(Notepad)或者写字板(WordPad)无法正确保存为所需格式,请勿使用其编辑配置文件;

推荐编辑器:点击下载Notepad2绿色版;使用Notepad2打开配置文件,依次选择:“文件”菜单--“编码”--“UTF-8”,然后保存文件(快捷键CTRL+S)即可。

[教程]coreseek sphinx在FreeBSD 7.0安装教程

感谢为中文全文检索做出贡献的所有同学。

1、源码安装LibMMSeg 。 先在这里下载压缩包
# fetch  http://www.coreseek.com/opensource/mmseg/
# tar zxvf mmseg-0.7.3.tar.gz
# cd mmseg-0.7.3

# vim src/css/SegmentPkg.cpp 修改第27行, 将 #include <malloc.h> 改为 #include <stdlib.h>
# ./configure && make && make install

2、测试 mmseg
# cd mmseg-0.7.3/data 你会看到一个准备好的UTF-8编码的字典文件 unigram.txt
# mmseg -u unigram.txt 该命令执行后,将会产生一个名为unigram.txt.uni的文件,将该文件改名为uni.lib,完成词典的构造。 你也可以进行分词测试。详见 http://www.coreseek.com/opensource/mmseg/

3、ports安装 gawk
# cd /usr/ports/lang/gawk
# make install clean

4、ports安装 python25
#cd /usr/ports/lang/python25
#make install clean

5、设置环境变量
# cd –
# vim .profile

增加两行
export CPPFLAGS=-I/usr/local/include/python2.5
export LDFLAGS=-lpython2.5

6、源码安装 Coreseek Fulltext Search Server 2.5.2。 先在这里下载压缩包 #fetch http://www.coreseek.com/uploads/sources/coreseek_fulltext_2.5.2.tar.gz
# tar zxvf coreseek_fulltext_2.5.2.tar.gz
# cd coreseek_fulltext_2.5.source
# ./configure && make && make install

7、配置服务
安装程序会默认创建 /usr/local/var/data 和 /usr/local/var/log 这里就是为了让你存放索引文件 和 运行日志的地方。
我们也把字典文件放在/usr/local/var下 。
#cp -r dict /usr/local/var/dict #这里把第一步生成的词典data目录内容复制到dict目录里

安装程序会在 /usr/local/etc/下放一个默认配置文件 Sphinx.conf.dist 。但是 Coreseek 默认要去读 csft.conf,所以要复制一份
# cp /usr/local/etc/sphinx.conf.dist /usr/local/etc/csft.conf

修改 csft.conf 讲索引文件位置 和 日志文件位置 分别指向/usr/local/var/data 和 /usr/local/var/log
如需中文索引的配置节中加入
charset_type = zh_cn.utf-8
charset_dictpath = /usr/local/var/dict

其他配置项请参考手册.

8、导入测试数据
# mysql < source  /usr/local/etc/example.sql

9、测试建立索引
#indexer –all

应该会看到如下输出
Coreseek Full Text Server 2.1
Copyright (c) 2006-2008 coreseek.com
using config file ‘/usr/local/etc/csft.conf’…
indexing index ‘test1’…
collected 5 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 5 docs, 230 bytes
total 0.146 sec, 1577.50 bytes/sec, 34.29 docs/sec
indexing index ‘test1stemmed’…
collected 5 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 5 docs, 230 bytes
total 0.011 sec, 21879.74 bytes/sec, 475.65 docs/sec

10、测试全文检索
# search doc

应该会看到如下输出
search doc
Coreseek Full Text Server 2.1
Copyright (c) 2006-2008 coreseek.com
using config file ‘/usr/local/etc/csft.conf’…
index ‘test1’: query ‘doc ‘: returned 2 matches of 2 total in 0.091 sec

displaying matches:
1. document=3, weight=1, group_id=2, date_added=Fri Jul 4 10:22:13 2008
id=3
group_id=2
date_added=2008-07-04 10:22:13
title=another doc
content=this is another group
2. document=4, weight=1, group_id=2, date_added=Fri Jul 4 10:22:13 2008
id=4
group_id=2
date_added=2008-07-04 10:22:13
title=doc number four
content=this is to test groups

words:
1. ‘doc’: 2 documents, 2 hits

index ‘test1stemmed’: query ‘doc ‘: returned 2 matches of 2 total in 0.000 sec

displaying matches:
1. document=3, weight=1, group_id=2, date_added=Fri Jul 4 10:22:13 2008
id=3
group_id=2
date_added=2008-07-04 10:22:13
title=another doc
content=this is another group
2. document=4, weight=1, group_id=2, date_added=Fri Jul 4 10:22:13 2008
id=4
group_id=2
date_added=2008-07-04 10:22:13
title=doc number four
content=this is to test groups

words:
1. ‘doc’: 2 documents, 2 hits

11 、启动searchd
# searchd

12 、测试searchd
# cd api
# php test.php doc

应该会输出
Query ‘doc ‘ retrieved 2 of 2 matches in 0.073 sec.
Query stats:
‘doc’ found 4 times in 4 documents

Matches:
1. doc_id=3, weight=100, group_id=2, date_added=2008-07-04 10:22:13
2. doc_id=4, weight=100, group_id=2, date_added=2008-07-04 10:22:13

12、关于中文全文检索
有些同学安装成功后 不能检索中文, 请检查你数据库的 variables 是否为utf8 ,请仔细反复检查一下。
可以参考这个帖子 http://www.coreseek.com/forum/index.php?action=vthread&forum=2&topic=11

注意:以上操作可能部分设置需要在csft.conf文件里做一些修改,如数据库用户名和密码,还有索引文件存放的目录,及词典存放位置等信息,请根据提示信息修改即可.

在windows生产环境搭建sphinx的注意事项

1、以服务的方式运行sphinx

在开发环境中,只要执行”rake ultrasphinx:daemon:start“,就可以启动一台sphinx服务器。但如果在生产环境还能这么做么?把sphinx安装为服务无疑是个靠谱的办法,这样它可以像mongrel、apache一样随系统启动。sphinx自带了安装为windows服务的命令:

searchd –-install -–config xxxx.conf

相应的删除服务命令为:

searchd –delete

不妨把这个加入到rake命令中,于是我hack了一下ultrasphinx插件的任务列表,加入了一个”rake ultrasphinx:daemon:install“命令。名为ultrasphinx.rake的文件我将稍后提供。
如果在启用服务的时候提示”发生系统错误1067″的话,则需要在安装服务的时候指定配置文件的路径,参考:sphinx在windows下无法启动的解决办法
如: d:\csft3.1\bin>searchd –install –config d:\csft3.1\bin\www.conf

Continue reading