




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CoreSeek Mysql 安装与测试 For Mac OS X(中文分词与中文全文检索)CoreSeek安装比较麻烦,官方手册对此的支持并不算很好。CoreSeek是基于Sphinx的中文的分词和全文检索软件。本文是在MAC OS X系统下安装和调试CoreSeek。 安装过程中报错如果是警告warning则忽略,如果是错误error,则必须要处理。 CoreSeek是支持三种数据来源的,一种是众所周知的Mysql,一种是XML文件,另一种是Python。而Python则是万能数据类型。在本CoreSeek安装测试教程中只示例数据源是XML文件和MYSQL。 官方手册地址:/products-install/install_on_macosx 一、设置环境变量$ export PATH=/usr/local/bin:$PATH$ export LC_ALL=zh_CN.UTF-8$ export.UTF-8 二、安装依赖库:m4、autoconf、automake、libtool。注意:不要brew install 来安装,因为对安装的库的版本有要求。$ curl -O -L /gnu/m4/m4-1.4.13.tar.gz$ tar -xzvf m4-1.4.13.tar.gz$ cd m4-1.4.13$ sudo ./configure -prefix=/usr/local/opt$ sudo make$ sudo make install$ cd .$ curl -O -L /gnu/autoconf/autoconf-2.65.tar.gz$ tar -xzvf autoconf-2.65.tar.gz$ cd autoconf-2.65$ sudo ./configure -prefix=/usr/local/opt$ sudo make$ sudo make install$ cd .$ curl -O -L /gnu/automake/automake-1.11.tar.gz$ tar xzvf automake-1.11.tar.gz$ cd automake-1.11$ ./configure -prefix=/usr/local/opt$ sudo make$ sudo make install$ cd .$ curl -O -L /gnu/libtool/libtool-2.2.6b.tar.gz$ tar xzvf libtool-2.2.6b.tar.gz$ cd libtool-2.2.6b$ sudo ./configure -prefix=/usr/local/opt$ sudo make$ sudo make install$ cd . 三、安装Mysql。1、mysql 的安装自行安装2、查找mysql头文件地址和库文件地址。我用brew install mysql安装的Mysql,头文件地址和库文件地址分别是/usr/local/Cellar/mysql/5.6.17_1/include/mysql 和 /usr/local/Cellar/mysql/5.6.17_1/lib。头文件地址就是mysql.h所在的目录,库文件地址就是libmysqlclient.a所在的目录。 四、下载Coreseek。$ curl -O -L /uploads/csft/3.2/coreseek-3.2.14.tar.gz$ tar xzvf coreseek-3.2.14.tar.gz$ cd coreseek-3.2.14在coreseek-3.2.14文件夹下有mmseg和csft和testpack。mmseg是分词服务,csft是CoreSeek的核心服务,testpack是测试用例。 五、安装mmseg$ cd mmseg-3.2.14$ sudo ./bootstrap$ sudo ./configure -prefix=/usr/local/opt/mmseg3$ sudo make$ sudo make install$ cd .在make的时候,可能会报错,如下file included from css/ThesaurusDict.cpp:6:./src/css/ThesaurusDict.h:12:17: error: expected namespace nameusing namespace _gnu_cxx;css/ThesaurusDict.cpp:79:15: warning: result of comparison against a stringliteral is unspecified (use strncmp instead) -Wstring-compareif (filename = -) css/ThesaurusDict.cpp:116:15: warning: result of comparison against a stringliteral is unspecified (use strncmp instead) -Wstring-compareif (filename != -) 2 warnings and 1 error generated. make2 : * ThesaurusDict.lo Error 1make1: * install-recursive Error 1这个时候make进程已经终止。原因是因为编译器版本太高导致的,修改方法:1是降低编译器版本,反正我打死也不愿意。方法2如下:vim src/css/ThesaurusDict.h#在头部找到:#include #再其下加入一行代码:#include 修改完后保存退出,继续重新sudo make一下,就没有error级错误了,然后sudo make install即可。 六、安装coreseek$ cd csft-3.2.14$ sudo sh buildconf.sh$ sudo ./configure -prefix=/usr/local/opt/coreseek -without-unixodbc -with-mmseg -with-mmseg-includes=/usr/local/opt/mmseg3/include/mmseg/ -with-mmseg-libs=/usr/local/opt/mmseg3/lib/ -with-mysql -with-mysql-includes=/usr/local/Cellar/mysql/5.6.17_1/include/mysql -with-mysql-libs=/usr/local/Cellar/mysql/5.6.17_1/lib$ sudo make$ sudo make install$ cd .在./configure时,参数-with-mysql-includes是mysql头文件位置,-with-mysql-libs是mysql库文件位置,请在本CoreSeek安装教程第三步所记录的mysql头文件地址和库文件地址,替换。在make时,可能又会出现error级的错误,如果出现make程序是停止运行的,必须要修改。错误提示如下:phinxexpr.cpp:1047:11: error: use of undeclared identifier ExprEvalT val = ExprEval ( this-m_pArg, tMatch ); / this fixes gcc .解决方法:修改源代码。vim src/sphinxexpr.cpp将T val = ExprEval( this-m_pArg, tMatch )替换为T val = this-ExprEval ( this-m_pArg, tMatch )。就是加了个“this-”,是把这个文件中所有的ExprEval()函数都修改了,有三四个吧。修改后保存退出,重新sudo make,然后sudo make install即可。 七、测试XML数据$ cd testpack#测试编码是否正确显示中文,如果不是中文则请看本CoreSeek安装测试教程第一步$ cat var/test/test.xml# 测试mmseg分词的效果$ /usr/local/opt/mmseg3/bin/mmseg -d /usr/local/opt/mmseg3/etc var/test/test.xml # 建立检索的索引。$ /usr/local/opt/coreseek/bin/indexer -c etc/csft.conf -all#全文搜索“网络搜索”$ /usr/local/opt/coreseek/bin/search -c etc/csft.conf 网络搜索如果在建立检索的索引出错,FATAL: failed to lock var/data/xml.spl: Resource temporarily unavailable, will not index. Try -rotate option.则修改为$ /usr/local/opt/coreseek/bin/indexer -c etc/csft.conf -all -rotate 八、测试MYSQL数据源cd testpack1、修改配置文件,文件位于testpack/etc/csft_mysql.confvim etc/csft_mysql.conf我的csft_mysql.conf文件如下:记得把mysql 的sql_host,sql_user,sql_pass,sql_db,sql_port修改为自己的,并且把路劲都修改为你自己的路径。#MySQL数据源配置,详情请查看:/products-install/mysql/#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库#源定义source mysql type = mysql sql_host = localhost sql_user = root sql_pass = 8823150 sql_db = test sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query = SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content FROM documents #sql_query第一列id需为整数 #title、content作为字符串/文本字段,被全文索引 sql_attr_uint = group_id #从SQL读取到的值必须为整数 sql_attr_timestamp = date_added #从SQL读取到的值必须为整数,作为时间属性 sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集 sql_query_info = SELECT * FROM documents WHERE id=$id #命令行查询时,从数据库读取原始数据信息#index定义index mysql source = mysql #对应的source名称 path = /Users/lane/coreseek-3.2.14/testpack/var/data/mysql #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/. docinfo = extern mlock = 0 morphology = none min_word_len = 1 html_strip = 0 #中文分词配置,详情请查看:/products-install/coreseek_mmseg/ charset_dictpath = /usr/local/opt/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾 #charset_dictpath = etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/. charset_type = zh_cn.utf-8#全局index定义indexer mem_limit = 128M#searchd服务定义searchd listen = 9312 read_timeout = 5 max_children = 30 max_matches = 1000 seamless_rotate = 0 preopen_indexes = 0 unlink_old = 1 pid_file = /Users/lane/coreseek-3.2.14/testpack/var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/. log = /Users/lane/coreseek-3.2.14/testpack/var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/. query_log = /Users/lane/coreseek-3.2.14/testpack/var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/.2、给mysql导入测试数据 mysql的测试数据我们用的是test数据库,documents数据表。请自行确保test数据库存在,我们一起来建documents表,这个表的结构和数据都是由CoreSeek提供的,在testpack/var/st/documents.sqlmysql -u root -p#输入密码#看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业拜师带徒制度实施细则
- 旅游业竞争格局演变趋势-洞察及研究
- 矸石基负载材料对菌株的负载效果及其机理研究
- 创意读书小报制作流程
- 双证考试考前冲刺学习方法分享
- 静脉用药配制操作流程及规范2024
- 高二英语完整试卷与试题解析
- 2025广西玉林市玉州区南江一中教师招聘2人笔试模拟试题及答案解析
- 企业合规风险检查流程及整改方案实例
- 中小学阶段英语词汇分级教学方案
- 2025-2026学年北师大版(2024)初中生物七年级上册教学计划及进度表
- 产科危急重症早期识别中国专家共识解读 3
- 医疗器械配送应急预案模板(3篇)
- DB65-T 4803-2024 冰川厚度测量技术规范
- 护理专业新进展介绍
- 大疆无人机培训课件
- 中级消防员维保培训课件
- 小儿推拿进修总结汇报
- 2025公司应急预案演练计划(5篇)
- 医疗机构医院全员培训制度
- 2025仓库保管员试题及答案
评论
0/150
提交评论