coreseek,php,mysql全文检索部署(一)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

安装环境:

Ubuntu 10.04.4      64位

mysql                    Ver 14.14 Distrib 5.1.69

php                        PHP 5.2.6 (cli)


coreseek安装需要预装的软件:

apt-get install make gcc g++ automake libtool mysql-client libmysqlclient15-dev   libxml2-dev libexpat1-dev


coreseek安装需要源码包:

wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz


安装完成后的目录说明:

api:api接口和测试脚本

etc:配置文件

etc/pysource:python数据源脚本

var:运行数据

var/data:索引文件

var/log:搜索日志

var/test:测试源数据


1.安装mmseg   (支持中文分词)

root@CC-57:~# tar zxvf coreseek-3.2.14.tar.gz

root@CC-57:~# cd coreseek-3.2.14/mmseg-3.2.14/

root@CC-57:~/coreseek-3.2.14/mmseg-3.2.14# ./bootstrap         #输出的warning信息可以忽略,如果出现error则需要解决


root@CC-57:~/coreseek-3.2.14/mmseg-3.2.14# ./configure --prefix=/usr/local/mmseg3

root@CC-57:~/coreseek-3.2.14/mmseg-3.2.14# make && make install


2.安装coreseek   支持mysql数据源和xml数据源

root@CC-57:~/coreseek-3.2.14/mmseg-3.2.14# cd ../csft-3.2.14/

root@CC-57:~/coreseek-3.2.14/csft-3.2.14# sh buildconf.sh      #输出的warning信息可以忽略,如果出现error则需要解决

root@CC-57:~/coreseek-3.2.14/csft-3.2.14# ./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql=/var/www/dream/mysql/

root@CC-57:~/coreseek-3.2.14/csft-3.2.14# make && make install


可能遇到的问题:


有的系统下可能出现:expected `;' before ‘CSphTokenizer_UTF8SpaceSeg’,

或者出现:configure: WARNING: unrecognized options: --with-mmseg, --with-mmseg-includes, --with-mmseg-libs

是因为你没有进行随后的sh buildconf.sh操作

生成当前系统对应的编译配置文件

需要使用以下指令:$ sh buildconf.sh

Linux环境下,如遇到pthread问题,请先直接执行以下指令在进行configur:$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib$ export LD_LIBRARY_PATH

如果出现undefined reference to `libiconv'的类似错误,可以按照如下方法处理:

方法一:(Linux使用)## 直接执行:export LIBS="-liconv"

然后make clean,再次configure后,进行编译安装make && make install

方法二:

首先configure,然后vim src/makefile

在其中搜索lexpat,在其后加上 -liconv

修改后该行应该为:-lexpat -liconv -L/usr/local/lib

然后再次make && make install## 方法三:

首先configure,然后vim config/config.h

在其中搜索USE_LIBICONV,将其后的1修改为0

然后再次make && make install


3.测试mmseg分词,coreseek搜索(需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文)

root@CC-57:~/coreseek-3.2.14/testpack# export LANG=zh_CN.UTF-8       #设定系统字符集

root@CC-57:~/coreseek-3.2.14/testpack# locale

LANG=zh_CN.UTF-8

LANGUAGE=en_US:en

LC_CTYPE="zh_CN.UTF-8"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_COLLATE="zh_CN.UTF-8"

。。。。

root@CC-57:~/coreseek-3.2.14/csft-3.2.14# cd ../testpack/

root@CC-57:~/coreseek-3.2.14/testpack# cat var/test/test.xml           #此时应该正确显示中文

root@CC-57:~/coreseek-3.2.14/testpack# /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc/ var/test/test.xml


root@CC-57:~/coreseek-3.2.14/testpack# /usr/local/coreseek/bin/indexer -c etc/csft.conf --all

报错:

/usr/local/coreseek/bin/indexer: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory

解决办法:

root@CC-57:~/coreseek-3.2.14/testpack# ln -s /var/www/dream/mysql/lib/mysql/libmysqlclient.so.15 /usr/lib/

继续执行:

root@CC-57:~/coreseek-3.2.14/testpack# /usr/local/coreseek/bin/indexer -c etc/csft.conf --all

##以下为正常索引全部数据时的提示信息:(csft-4.0版类似)

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2011,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)

using config file 'etc/csft.conf'...

indexing index 'xml'...

collected 3 docs, 0.0 MB

sorted 0.0 Mhits, 100.0% done

total 3 docs, 7585 bytes

total 0.010 sec, 739134 bytes/sec, 292.34 docs/sec

total 2 reads, 0.000 sec, 4.2 kb/call avg, 0.0 msec/call avg

total 7 writes, 0.000 sec, 3.1 kb/call avg, 0.0 msec/call avg


root@CC-57:~/coreseek-3.2.14/testpack# /usr/local/coreseek/bin/indexer -c etc/csft.conf var/test/test.xml

##以下为正常索引指定数据时的提示信息:(csft-4.0版类似)

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2011,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)


using config file 'etc/csft.conf'...

WARNING: no such index 'var/test/test.xml', skipping.

total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg

total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg



root@CC-57:~/coreseek-3.2.14/testpack# /usr/local/coreseek/bin/search -c etc/csft.conf

##以下为正常测试搜索时的提示信息:(csft-4.0版类似)

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2011,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)

using config file 'etc/csft.conf'...

index 'xml': query '': returned 3 matches of 3 total in 0.004 sec

displaying matches:

1. document=1, weight=1, published=Thu Apr  1 22:20:07 2010, author_id=1

2. document=2, weight=1, published=Thu Apr  1 23:25:48 2010, author_id=1

3. document=3, weight=1, published=Thu Apr  1 12:01:00 2010, author_id=2

words:


root@CC-57:~/coreseek-3.2.14/testpack# /usr/local/coreseek/bin/search -c etc/csft.conf -a Twittter

##以下为正常测试搜索关键词时的提示信息:(csft-4.0版类似)

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2011,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)


using config file 'etc/csft.conf'...

index 'xml': query 'Twittter ': returned 1 matches of 1 total in 0.014 sec


displaying matches:

1. document=2, weight=1, published=Thu Apr  1 23:25:48 2010, author_id=1


words:

1. 'twittter': 1 documents, 3 hits



root@CC-57:~/coreseek-3.2.14/testpack# /usr/local/coreseek/bin/searchd -c etc/csft.conf

##以下为正常开启搜索服务时的提示信息:(csft-4.0版类似)

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2011,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)


using config file 'etc/csft.conf'...

listening on all interfaces, port=9312


root@CC-57:~/coreseek-3.2.14/testpack# netstat -nuptl | grep :9312

tcp        0      0 0.0.0.0:9312            0.0.0.0:*               LISTEN      21818/searchd

如要停止搜索服务:

root@CC-57:~/coreseek-3.2.14/testpack# /usr/local/coreseek/bin/searchd -c etc/csft.conf --stop

Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]

Copyright (c) 2007-2011,

Beijing Choice Software Technologies Inc (http://www.coreseek.com)


using config file 'etc/csft.conf'...

stop: succesfully sent SIGTERM to pid 21818


4.通过以上步骤

coreseek已经安装测试完成,可以提供正常的xml数据源索引以及提供对应的搜索服务了


     本文转自ljl_19880709 51CTO博客,原文链接:http://blog.51cto.com/luojianlong/1345678 ,如需转载请自行联系原作者






相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
5月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
815 4
|
6月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
402 0
PHP和Mysql前后端交互效果实现
|
8月前
|
小程序 安全 关系型数据库
专业打造一款圈子源码软件系统 / 后端 PHP 搭建部署一样实现利益化
本教程详解基于PHP后端与Uni-app的小程序开发全流程,涵盖技术选型、环境搭建、源码导入、接口对接及功能实现。采用Laravel/Symfony框架,结合MySQL/PostgreSQL数据库,使用WebSocket实现实时通信,并集成IM SDK实现音视频聊天。前端使用Uni-app开发,支持跨平台运行。教程包含完整部署流程与安全优化方案,助力快速搭建高性能、安全稳定的小程序系统。
509 5
|
7月前
|
关系型数据库 MySQL 数据库
为什么 MySQL 不推荐用 Docker 部署?
本文探讨了MySQL是否适合容器化的问题,分析了Docker容器在数据安全、性能瓶颈、状态管理及资源隔离等方面的挑战,并指出目前主流分布式数据库如TDSQL和OceanBase仍倾向于部署在物理机或KVM上。
354 0
|
10月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
498 41
|
10月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
625 17
|
10月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
296 18
|
10月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
299 10
|
11月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
511 17

推荐镜像

更多