在Ubuntu8.10下为PHP安装coreseek全文检索引擎支持的详细步骤

Ubuntu 14.04 下 Sphinx 源码编译与生产级配置实战 全文检索是现代应用的核心能力之一,其本质是通过倒排索引实现高效关键词匹配与相关性排序。Sphinx 作为成熟稳定的单机全文搜索引擎,以低资源占用、高吞吐和 MySQL 协议兼容性著称,特别适用于老旧服务器环境下的轻量级搜索增强。相比 Elasticsearch 的分布式复杂度和 SQLite 的功能局限,Sphinx 在 50 万级数据、300ms 响应要求下展现出独特工程价值。本文聚焦真实生产约束——尤其是 Ubuntu 14.04 这类长期服役的 LTS 系统——详解 install 与 configu 阅读详情

关于sphinx就不多累言了,一套相当优秀的全文检索引擎.无论索引速度还是检索速度真的是非常的快.


至于coreseek ,可访问李沫南的站点  http://www.coreseek.com
顺便在此感谢李沫南同学为sphinx中文化做的贡献 :0)

本文着重介绍在ubuntu下安装coreseek及相应的sphinx-php扩展.

具体示例应用另开文写.
 
以下安装环境基于 Ubuntu8.10 Server版,

操作用户使用root账户.
coreseek基于2008-09-26发布的3.0beta4版本

文中此颜色字体为需用户输入的命令内容
=========================================================
 
1.源码包准备
下载MMSEG分词源码包 
wget http://www.coreseek.com/uploads/sources/mmseg3_0b3.tar.gz

下载coreseek源码包 
wget http://www.coreseek.com/uploads/sources/csft3_0b4.tar.gz

解压缩源码包
tar -xzvf mmseg3_0b3.tar.gz
tar -xzvf csft3_0b4.tar.gz

 
 
2.安装环境准备

安装g++编译环境

apt-get install g++

apt-get install gcc

 

安装python开发组件

apt-get install python

apt-get install python-dev

 

安装mysql开发库

apt-get install libmysqlclient15-dev

 

安装PHP运行及支撑环境

apt-get install php5

apt-get install php5-dev

apt-get install php5-pear

 

 

安装make

apt-get install make

 

3.编译mmseg

cd mmseg.3.0b3/

./configure --prefix=/usr/local/mmseg

make

make install

 

注意:如果在这一步出错,且出错提示为:css/UnigramCorpusReader.cpp:89: error: 'strncmp' was not declared in this scope
则需手工编辑.src/css目录下UnigramCorpusReader.cpp 文件,在其第一行加上

#include <string.h>
然后重新 make,make install即可通过
 
在这一步安装完了后,将会在 /usr/local 下产生 mmseg目录,
手工修改 /usr/local/mmseg/include/mmseg/freelist.h
vi   /usr/local/mmseg/include/mmseg/freelist.h
在上面添加
#include <string.h>
 
4.编译coreseek
cd csft3_0b4/
./configure --prefix=/usr/local/coreseek --with-python --with-mysql --with-mmseg-includes=/usr/local/mmseg/include/mmseg --with-mmseg-libs=/usr/local/mmseg/lib/
make & make install
 
在此过程中.可能会出现错误提示
sphinxutils.cpp:793: error: cannot convert ‘int*’ to ‘Py_ssize_t*’ for argument ‘2’ to ‘int PyDict_Next(PyObject*, Py_ssize_t*, PyObject**, PyObject**)’
sphinxutils.cpp:802: warning: unused variable ‘nRet’
make[2]: *** [sphinxutils.o] 错误 1
make[2]:正在离开目录 `/home/syu/sphinx/csft3_0b4/src'
make[1]: *** [all] 错误 2
make[1]:正在离开目录 `/home/syu/sphinx/csft3_0b4/src'
make: *** [all-recursive] 错误 1

这个时候,可以手工打开 src目录下的 sphinxutils.cpp 修改第789行左右
int pos = 0; --------->将此行修改为    Py_ssize_t pos = 0;

 

保重.重新make & make install 即可

 

此步安装完成后,将在/usr/local/下生成 coreseek 目录

 

5.安装sphinx client lib

先进入 coreseek的api下libsphinxclient目录

cd csft3_0b4/api/libsphinxclient

运行 buildconf.sh 

chmod 0755 ./buildconf.sh

./buildconf.sh

./configure && make install


 

6,安装pecl-sphinx扩展库
pecl install sphinx-0.2.0
 
7.为PHP加上sphinx扩展
cd /etc/php5/conf.d
echo "extension=  sphinx.so" >sphinx.ini
 
 
 
 
至此,sphinx的服务环境和PHP客户端均安装完毕.
可以在phpinfo中看到sphinx相关信息.
 
 
sphinx全文检索的中文教程请参考李沫南翻译的手册 : http://www.coreseek.cn/uploads/pdf/sphinx_doc_zhcn_0.9.pdf
PHP-sphinx相关调用函数请参阅php手册 http://www.php.net/manual/en/class.sphinxclient.php

 


 

PHP常见面试题目深入解答分析(一)        高手请无视本文,骨灰们请直接绕行... :-)       本文旨在对网上流传很广的部份初/中级PHP开发工程师面试题目做出一些解答.并对这些面试题对面试者的测试意义,以及题目本身做一些较为深入的分析.      也许大量的初/中级PHPer们在面试的时候已经发现,许多公司的面试题目其实基本类似.:-),或许出题者本身并不清楚这些题目究竟要考验应聘 阅读详情

相关推荐

IIC软件协议及硬件知识汇总

IIC软件协议及硬件相关知识,真的是非常齐全了!

记得诚 1万+

Sphinx以及coreseek安装及使用

检索结构 php -&gt; sphinx -&gt; mysql 非结构化数据又叫全文数据,非固定长度字段例如文章标题搜索这类适用sphinx 全文数据搜索: 1 顺序扫描 : 如like查找 2 索引扫描 : 把非结构化数据中的内容提取出来一部分重新组织,这部分数据就叫做索引 全文检索分为两个过程 1.创建索引 2.搜索索引 创建索引: sphinx通...

weixin_34081595的博客 185

基于STM32设计的环境检测系统(OneNet)_365

本项目设计并实现了一种基于STM32F103RCT6单片机的环境检测系统,系统集成了多种传感器模块,具备对环境温湿度、烟雾浓度、易燃气体浓度、一氧化碳浓度和整体空气质量的实时检测功能。系统通过1.44寸SPI接口LCD实现本地数据显示,同时配备有源蜂鸣器用于环境异常报警。在数据通信方面,系统利用ESP8266-WIFI模块,采用MQTT协议将各类传感器数据上传至OneNet云平台,并借助其可视化框架实现网页端可视化界面,可通过电脑和手机浏览器远程访问,实现环境数据的远程监控。该系统设计结构简单、功能全面,适

2062

linux 下安装sphinx

一定要安装mysql,否则不会成功的。 wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8-rc2.tar.gz tar -xvzf sphinx-0.9.8-rc2.tar.gz cd sphinx-0.9.8-rc2 ./configure --prefix=/usr/local/sphinx --with-mysq...

果果的专栏 339

Sphinx(斯芬克斯的安装及使用)

1.说明:          Sphinx是一个基于SQL的全文检索引擎,可以结合 MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。          Sphinx 单一索引最大

Dragon_family的博客 5142

ubuntu910安装coreseek中文全文索引

先下载(**表示版本号)csft**.tar.gzmmseg**.tar.gz放到/root目录下解压tar -xzvf csft**.tar.gztar -xzvf mmseg**.tar.gz编译mmseg 安装cd mmseg*sudo ./configure --prefix=/usr/local/mmsegsudo makesudo make install              ...

老纪的Blog--Linux Python PHP MYSQL .NET 147

linux coreseek php 扩展,在Ubuntu8.10下为PHP安装coreseek全文检索引擎支持详细步骤...

关于sphinx就不多累言了,一套相当优秀的全文检索引擎.无论索引速度还是检索速度真的是非常的快.至于coreseek ,可访问李沫南的站点 http://www.coreseek.com顺便在此感谢李沫南同学为 sphinx中文化做的贡献 :0)本文着重介绍在ubuntu安装coreseek及相应的sphinx-php扩展.具体示例应用另开文写.以下安装环境基于 Ubuntu8.10 Ser...

weixin_39729262的博客 132

coreseek mysql_coreseek (sphinx)+ Mysql + Thinkphp搭建中文搜索引擎详解

一, 前言1,研究coreseek的动机我有一个自己的笔记博客,经常在上面做一些技术文章分析。在查询一些文章的时候,以前只能将要查询的内容去mysql中用like模糊匹配。在文章多了的情况下,这样做法效率肯定不行。于是我把目标投向了中文搜索插件coreseek,并成功的把它使用到了我的项目当中。效果图:希望通过这篇分析,让有兴趣的同学少走些弯路。2,概念介绍sphinx是开源的搜索引擎,它支持英文...

weixin_35519827的博客 290

mysql coreseek_coreseek (sphinx)+ Mysql + Thinkphp搭建中文搜索引擎详解

一, 前言1,研究coreseek的动机我有一个自己的笔记博客,经常在上面做一些技术文章分析。在查询一些文章的时候,以前只能将要查询的内容去mysql中用like模糊匹配。在文章多了的情况下,这样做法效率肯定不行。于是我把目标投向了中文搜索插件coreseek,并成功的把它使用到了我的项目当中。效果图:希望通过这篇分析,让有兴趣的同学少走些弯路。2,概念介绍sphinx是开源的搜索引擎,它支持英文...

weixin_39707168的博客 343

UbuntuCoreseek+PHP安装

Coreseek是一个基于sphinx引擎支持与mmseg中文分词模块合作完成中文的全文搜索引擎。相对sql这类操作,Coreseek负载可谓是微不足道。当然类似的索引服务器还有给予Java的solr等。我选择coreseek的主要原因之一是他可以通过配置后可以与现有的mysql客户端兼容,并可以直接嵌入到mysql中成为mysql的引擎之一。 首先,下载安装包,我选择的是最新的stable版...

weixin_34148508的博客 97

Ubuntu15.10安装Coreseek4.1

准备为之前说的电商系统做一个功能完善搜索功能,我的需求是关键字相关搜索,搜索结果多样化排序,根据用户搜索记录为用户提供最优搜索结果。在网上看了好多,看来看去感觉Coreseek还不错。Coreseek是一个基于Sphinx二次开发的搜索工具,属于国内出品,有完善的中文文档。废话不多说,这篇是Coreseek安装篇,废了我不少劲。 Core...

weixin_34099526的博客 200

ubuntu11.10安装coreseek 实现全文索引

1、什么是全文检索 全文检索是指以文档的全部文本信息作为检索对象的一种信息检索技术。检索的对象有可能是文章的标题,也有可能是文章的作者,也有可能是文章摘要或内容。 2、Sphinx介绍 说到全文检索就不得不提Sphinx,Sphinx是一个俄国人开发的搜索引擎,它的主要特点是: 一、性能非常出色 150万条记录一两分钟就索引完毕,2-4GB以内的文本检索速度不到0.1秒钟。ferre...

晗的IT生活 253

ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版

主要参考文档:http://www.coreseek.cn/products-install/install_on_bsd_linux/ 一、 32位版本: coreseek安装需要预装的软件: apt-get install make gcc g++ automake libtool mysql-client libmysqlclient15-dev libxml2-dev libexp...

weixin_30919919的博客 125

PHP常见面试题目深入解答分析(二)

        高手请继续无视本文,骨灰们请跳跃路过... :-)       很久没有更新了,继续上一篇文.再来讨论几道常见的试题.查看上次的文章请点击这里     题目一: mysql_pconnect与mysql_connect的区别在哪里?哪一个更好                                               

Syu的杂货铺 1513

[分享]STE---轻型PHP模板引擎下载

 本文提供的附件下载是:http://syu.javaeye.com/topics/download/4a0e681f-6fda-358f-ae51-401a8f968eaehttp://syu.javaeye.com/blog/372544  特别注明:    STE是基于SmartTemplate的修改版本,其在SmartTemplate的设计上做了大量修改,以及使用P

Syu的杂货铺 1285

[连载] PHP 5.3.0 alpha3 中的名字空间(namespace)改进 (一)

 近日,PHP官方已将拥有众多新特性的PHP5.3放到A3版本. 在更新日志中强调了这一版本的名字空间部份变化较大.正好前段时间我开发的工业快捷框架SmartYU用到了5.3 A2中的不少特性,其中就包括了名字空间.所以将两者做了一些比较.发现不得不对之前的名字空间部份全部推翻重写 :( (看来在发行版本未稳定之前,最好还是不要轻易尝试用其做项目). 首先说定义. 创建一个名字空间,都

Syu的杂货铺 1245

西部数据 500G My Passport 2.5寸移动硬盘 驱动

西部数据 500G My Passport 2.5寸移动硬盘功能强大,附有支持自动持续备份和数据恢复功能的WD SmartWare软件,但前提是得有移动硬盘的驱动才好使用。有时我们仅仅需要的是纯USB设备驱动!

上一篇: [连载] PHP 5.3.0 alpha3 中的名字空间(namespace)改进 (一)
下一篇: PHP常见面试题目深入解答分析(一)
syu
syu
博客等级 码龄24年 31粉丝 15原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值