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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

安装环境:

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 ,如需转载请自行联系原作者






相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
20 1
|
11天前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
12天前
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
本文深入探讨了PHP与MySQL在动态网站开发中的应用实践,通过具体案例解析如何高效结合这两大技术构建数据驱动的Web应用。文章将涵盖环境搭建、基础语法回顾、数据库设计与操作、用户注册与登录系统实现等关键步骤,旨在为开发者提供一个从零到一的项目实战路径,展示PHP与MySQL协同工作的强大能力。 ####
|
1月前
|
SQL 关系型数据库 MySQL
PHP与MySQL协同工作的艺术:开发高效动态网站
在这个后端技术迅速迭代的时代,PHP和MySQL的组合仍然是创建动态网站和应用的主流选择之一。本文将带领读者深入理解PHP后端逻辑与MySQL数据库之间的协同工作方式,包括数据的检索、插入、更新和删除操作。文章将通过一系列实用的示例和最佳实践,揭示如何充分利用这两种技术的优势,构建高效、安全且易于维护的动态网站。
|
2月前
|
关系型数据库 MySQL 数据安全/隐私保护
docker应用部署---MySQL的部署配置
这篇文章介绍了如何使用Docker部署MySQL数据库,包括搜索和拉取MySQL镜像、创建容器并设置端口映射和目录映射、进入容器操作MySQL,以及如何使用外部机器连接容器中的MySQL。
docker应用部署---MySQL的部署配置
|
1月前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
【10月更文挑战第1天】使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
59 3
|
1月前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库如何设置忽略表名大小写?
【10月更文挑战第1天】使用Docker部署的MySQL数据库如何设置忽略表名大小写?
133 1
|
1月前
|
存储 关系型数据库 MySQL
【MySQL精装典藏版】MySQL的安装与部署
【MySQL精装典藏版】MySQL的安装与部署
52 0
|
1月前
|
关系型数据库 MySQL 数据库
如何使用Docker部署MySQL数据库?
【10月更文挑战第1天】如何使用Docker部署MySQL数据库?
162 0