搜索引擎
来源:互联网 发布:部落冲突资源升级数据 编辑:程序博客网 时间:2024/04/29 14:14
二,linux下安装Sphinx全文索引,以CentOS 5.3为例
只能说windows下安装sphinx只是为了体验,因为linux下安装sphinx才是正道。
为了详细体验Centos下安装Sphinx,重新安装Centos系统,完整体验Sphinx安装过程。
Coreseek 全文检索服务器版本已经集成sphinx和中文分词补丁,只需要下载MMSeg和Coreseek Fulltext Server(源代码),就能实现Sphinx服务支持。
下载地址:http://www.coreseek.cn/products/ft_down/
推荐源代码安装
1,开始前的准备工作 [如果已经安装就不需要,如果下面列表没有还有其它的请补上]
1)安装mysql
2)安装php
3)安装apache
4)安装python
5)安装libiconv
6)安装gcc-c++
7)下载Coreseek Fulltext Server(源代码):http://www.coreseek.cn/uploads/csft/3.1/Source/csft-3.1.tar.gz
8)下载Coreseek Mmseg(源代码):http://www.coreseek.cn/uploads/csft/3.1/Source/mmseg-3.1.tar.gz
执行如下命令
yum install python python-dev
2,安装步骤
(1)下载CSFT与MMseg
#wget http://www.coreseek.cn/uploads/csft/3.1/Source/mmseg-3.1.tar.gz
#wget http://www.coreseek.cn/uploads/csft/3.1/Source/csft-3.1.tar.gz
(2)安装MMseg中文分词
# pwd
/usr/local [知道当前的安装目录]
# wget http://www.coreseek.cn/uploads/csft/3.1/Source/mmseg-3.1.tar.gz
# tar xzvf mmseg-3.1.tar.gz
# mkdir /usr/local/mmseg
# cd mmseg-3.1
# ./configure --prefix=/usr/local/mmseg
# make
# make install
运行如下,看看mmseg是否安装成功
# /usr/local/mmseg/bin/mmseg
Coreseek COS(tm) MM Segment 1.0
Copyright By Coreseek.com All Right Reserved.
Usage: /usr/local/mmseg/bin/mmseg <option> <file>
-u <unidict> Unigram Dictionary
-r Combine with -u, used a plain text build Unigram Dictionary, default Off
-b <Synonyms> Synonyms Dictionary
-h print this help and exit
(3)安装csft-3.1
# pwd
/usr/local
# wget http://www.coreseek.cn/uploads/csft/3.1/Source/csft-3.1.tar.gz
# tar xzvf csft-3.1.tar.gz
# mkdir /usr/local/csft
# cd csft-3.1
# ./configure --prefix=/usr/local/csft --with-mmseg=/usr/local/mmseg/bin/mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/
# make
# make install
这里make的时候可能出错,解决如下:
1,检查环境是否安装如下软件
# yum install mysql mysql-devel php-mysql qt4-mysql [mysql环境要首先安装]
# yum install python python-dev
2,是否安装libiconv
下载地址:http://savannah.gnu.org/projects/libiconv/
3,如果还有错误,打开src/Makefile文件,进行修改
# vi src/Makefile 找到182行
LIBS = -lm -lz -lexpat -L/usr/local/lib -lpthread
LIBS = -lm -lz -lexpat -liconv -L/usr/local/lib -lpthread
这样,如果一切顺利,就开始配置你的sphinx全文索引服务器吧[如果安装有什么问题,欢迎在PHPWind官方提问]!
3,按下来就是配置
#cp /usr/local/csft/etc/sphinx-min.conf.dist /usr/local/csft/etc/sphinx.conf
修改sphinx.conf文件中的数据库参数配置,方法同windows下一样
sql_host = localhost
sql_user = root
sql_pass =
sql_db = test
4,把体验数据/usr/local/csft/etc/example.sql 导入到数据库 [这一步应该都会]
5,新建索引
# /usr/local/csft/bin/indexer --all
6,测试搜索
# /usr/local/csft/bin/search test
如果测试有返回,恭喜你的sphinx全文索引服务器配置成功
7,接下来就是支持中文的配置和实现
UTF8编码实例 [如果已经存在utf8的数据库就不需要新建,这里只是举例]
1)创建一个新的数据库,注意编码为utf8_general_ci,如phpwind
2)导入部分现有的GBK数据,如pw_threads
3)配置csft.conf如下
source数据源部分
sql_host = localhost
sql_user = root
sql_pass =
sql_db = phpwind
sql_query_pre = SET NAMES utf8
sql_query_pre = SET SESSION query_cache_type=OFF
sql_query = SELECT tid,fid,authorid,subject FROM pw_threads
sql_attr_uint = fid
sql_attr_uint = authorid
索引部分
charset_type = zh_cn.utf-8
charset_dictpath = /usr/local/csft/
min_prefix_len = 0
min_infix_len = 0
min_word_len = 2
4)创建数据词典
#pwd
/usr/local/mmseg-3.1/data [这是你解压mmseg的目录下的data]
运行如下命令
# mmseg -u unigram.txt
# ll
总计 10152
-rwxr-xr-x 1 root root 715 06-06 18:40 build_unigram.py
-rwxr-xr-x 1 root root 32674 06-06 18:40 char.stat.txt
-rwxr-xr-x 1 root root 1051268 06-06 18:40 Lexicon_full_words.txt
-rwxr-xr-x 1 root root 1826251 06-06 18:40 unigram.txt
-rw-r--r-- 1 root root 3729280 09-16 20:20 unigram.txt.uni
将会生成 unigram.txt.uni 文件
# mv unigram.txt.uni uni.lib
# cp uni.lib /usr/local/csft/ [这就是上面我们在配置索引中用的charset_dictpath]
其它的默认不变,如上方法创建索引
# /usr/local/csft/bin/indexer --all
测试是否成功
# /usr/local/csft/bin/search 测试
以上就是utf8编码的全文索引实现过程
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- 搜索引擎
- C# Winform 处理TextBox输入数字的几种方法
- 为什么要写博客
- SQLDeveloper 连接Oracle
- oracle常用hint
- 解决lwuit程序在触摸屏中滚动条的方向与定位问题
- 搜索引擎
- iis 5.0认证绕过漏洞
- 状态机编程
- 线程同步之竟态条件
- C++中指针和引用的区别
- winform 设置快捷键 触发事件 F1~F12
- Java数组浅析(转)
- 常用操作管理
- Android关于联系人电话号码的查找