基于php的Sphinx以及coreseek的全文搜索,中文分词的使用(一)

基于php的Sphinx以及coreseek的全文搜索,中文分词的使用(一)

##1.sphinx简介

1.什么是sphinx

Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS 的原生支持)

2.sphinx的特性

高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒);
高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒);
可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可 处理100 M 文档);
提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法;
支持分布式搜索;
支持短语搜索
提供文档摘要生成
可作为MySQL的存储引擎提供搜索服务;
支持布尔、短语、词语相似度等多种检索模式;
文档支持多个全文检索字段(最大不超过32个);
文档支持多个额外的属性信息(例如:分组信息,时间戳等);
支持断词;

2.安装与配置

1.系统环境
centos7.2 +lnmp环境
2.安装sphinx


 1.   wget http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz  ##下载sphinx
 2.   tar -zxvf  sphinx-2.2.11-release.tar.gz  ##解压
 3.   cd sphinx-2.2.11-release
 4.   ./configure --prefix=/usr/local/sphinx/  
 5.   echo $?
 6.   make 
 7.   echo $?
 8.   make install    
 ##(4,6,8可以合成一部, 这里为了方便查看每一步是否执行成功以及查看错误我把散步拆开了  (echo $?    返回数字0  执行成功  返回其他失败 )

3.安装 sphinx 可能遇见的错误

##make错误
collect2: error: ld returned 1 exit status
make[2]: *** [indexer] Error 1
make[2]: Leaving directory `/root/sphinx-2.2.11-release/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/sphinx-2.2.11-release/src'
make: *** [all-recursive] Error 1

##解决办法
先执行  make clean  
然后修改 configure 文件
把 #define USE_LIBICONV 0 最后的数值由1改为0```

##3.sphinx的配置与以及测试小demo
sphinx安装成功后我们进入sphinx目录,会发现有这四个目录

##其中   bin  存放索引启动文件  etc  存放sphinx配置文件  var存放生成的索引文件

这里写图片描述

然后我们不着急进行sphinx 我们先准备一份数据表


CREATE TABLE IF NOT EXISTS `node` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `created` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='测试文章表' AUTO_INCREMENT=11 ;

INSERT INTO `node` (`id`, `title`, `content`, `created`) VALUES
(1, '三月醉一场青春的流年', '三月,醉一场青春的流年。慢步在三月的春光里,走走停停,看花开嫣然,看春雨绵绵,感受春风拂面,春天,就是青春的流年。青春,是人生中最美的风景。青春,是一场花开的遇见', '2018-07-17 11:12:00'),
(2, '在爱的岁月山河里思念', '夜色如梦,没有人陪,坐在沙发里,一杯红酒配电影,似乎看透红尘,实际上钻心的孤独。远在他方的你,是否也一样在深夜里买醉?谁在爱的国度里,想念着谁?谁在梦里,与谁不醉不休?谁在寂寞的夜晚,想象着与谁缠绵悱恻?在爱的幸福国度&#x
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值