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

Sphinx 单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。

二、sphinx优点:
Sphinx的主要特性包括:
高速索引 (在新款CPU上,近10 MB/秒);
高速搜索 (2-4G的文本量中平均查询速度不到0.1秒);
高可用性 (单CPU上最大可支持100 GB的文本,100M文档);
提供良好的相关性排名
支持分布式搜索;
提供文档摘要生成;
提供从MySQL内部的插件式存储引擎上搜索
支持布尔,短语, 和近义词查询;
支持每个文档多个全文检索域(默认最大32个);
支持每个文档多属性;
支持断词;
支持单字节编码与UTF-8编码;
 
三、基于sphinx产品:
 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等应用场景.

四、何时,需要全文检索

全文搜索技术虽然是好东西,但并不是任何人都需要全文检索的,我们总结了国内全文检索的几个典型应用场景。

4.1您在运营知识分享型的社区(Forum):
大量的新来用户对某些简单的问题反复发帖询问,版主不胜其烦;
大量宝贵的答案、精辟的见解被淹没在回复中,通过帖子主题检索不到;
为了降低服务器负载,您不得不限制用户每30秒才能使用搜索功能一次,用户很难受,您很难过;
为了提高服务质量,您寄希望于Google、百度这样的全网搜索引擎,但是您的数据更新可能不及时,更要命的是有些私密的主题,您不想让除了您和您的注册用户以外的第三方知道;
4.2您在运营社会化社交网络(SNS):
如何让您的用户找到志同道合的朋友?
如何帮助用户更好的管理自己的Blog?
4.3您在运营电子商务网站(e-Shop):
如何让每个访客尽快找到他/她感兴趣的商品,达成销售?

五、全文搜索与数据库的区别:
 全文检索是数据库的有力补充,全文检索并不能替代数据库在应用系统中的作用。当应用系统的数据以大量的文本信息为主时,采用全文检索技术可以极大的提升应用系统的价值。

数据库搜索,如果搜索范围包括全部正文数据,往往性能很低,用户响应时间长(分钟级,经常超时);而全文检索可以在0.x秒(毫秒级)的时间内将结果反馈给用户;
数据库搜索,一个用户在搜索,往往影响其他用户的对应用系统进行操作;全文检索可以同时支持多个用户并发搜索,其他对应用系统进行操作的用户不受影响; 
数据库搜索很难实现多个关键字的复合搜索;而全文检索可以实现多个关键词的复合搜索,包括 “和(AND)”、“或(OR)”、“否(NOT)” 等; 
数据库搜索难于对结果进行相关度排序,当检索结果多时,用户往往难于找到最恰当的文档;而全文检索通过统计的研究成果,可以将文档进行相关度排序后,再返回给用户,提高用户的效率;
全文检索还可以对检索结果的数据进行聚类分析(Group, 这里的聚类和NLP里面的聚类算法不同),增进用户对数据分布情况的了解; 
全文检索需要用户定期执行建立索引的动作,比直接使用数据库搜索增加了维护的工作; 
实现的不完善的全文索引系统容易造成索引与数据库的不一致,反而降低了用户的使用体验; 
优秀的全文检索系统支持按照文档的不同字段分配不同的检索权重,根据应用的不同动态的改变结果的排序;
对于中文、日文和韩文而言,全文检索支持分词,进一步缩小了结果集的范围;而数据库检索往往不支持,往往一些与搜索词毫不相干的内容也混入了结果集。
     全文检索与数据库检索各有优势,需要根据具体应用场景的不同灵活选择。

六、下载
  http://www.coreseek.cn/news/14/52/
七、 安装:
  7.1  D:/wwwroot/coreseek  我这里安装在wwwroot 下面(根据你个人爱好,放哪都可以);
  7.2  “开始”——>“运行”——>输入cmd,打开命令行窗口——>执行 "d: 回车"——>执行 "cd  wwwroot\coreseek\",进入到 coreseek目录下;
      C:\Documents and Settings\Administrator>d:
      D:\>cd wwwroot/coreseek
      D:\wwwroot\coreseek>
 7.3 设置环境变量
          我的电脑--->属性---->高级--->环境变量---->系统变量---->path-->点击编辑 ;d:\wwwroot\coreseek\bin

7.4  安装服务
   D:\wwwroot\coreseek>bin\searchd --install --config d:wwwroot/coreseek/etc/csft_mysql.conf

八、mysql数据源的配置与创建索引

8.1 创建数据库
cmd   
mysql -uroot -ptest123
create database weibo
use news;
create  table mynews(
 id int primary key auto_increment,
 title varchar(200) not null,
content text not null,
addTime datetime not null,
author varchar(30) not null,
fulltext(title,content)
)engine=myisam default charset=utf8;
   
8.2   第二步: 创建配置文件
csft_mysql.conf  数据库配置
   我们这里以mysql为数据源来做配置

8.3 创建索引
  C:\Documents and Settings\Administrator>d:
   D:\>cd wwwroot\coreseek\
  D:\wwwroot\coreseek>bin\indexer -c etc/csft_mysql.conf mysql

8.4 数据测试
  bin/search -c etc/csft_mysql.conf 百度

sphinx与全文搜索相关推荐

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

    基于php的Sphinx以及coreseek的全文搜索,中文分词的使用(一) ##1.sphinx简介 1.什么是sphinx Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检 ...

  2. php 全局搜索方法,php启用sphinx全文搜索的方法

    php启用sphinx全文搜索的方法 sql_pass                                = 1 sql_db                               ...

  3. mac mysql ngram_mac 下 sphinx + mysql + php 实现全文搜索(xampp)(3)sphinx 的配置项解析...

    source:数据的来源,数据是从什么地方来的. index:索引,当有数据源之后,从数据源处构建索引.索引实际上就是相当于一个字典检索.有了整本字典内容以后,才会有字典检索. searchd:提供搜 ...

  4. php+中文分词scws+sphinx+mysql打造千万级数据全文搜索

    Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能.Sphinx可以非常容易的与SQL数据库和脚本语言集成 ...

  5. php全文搜索视频教程,【php启用sphinx全文搜索的实现要领】_PHP技巧_电脑技术学习,计算机学习网站,电脑维修技术教程,培训资料学习网-OAWHY...

    这篇文章主要介绍了<?php启用sphinx全文搜索的实现要领 ,详细讲述了sphinx相关的配置与使用技巧,具有必然的参考借鉴价值,需要的伴侣可以参考下 本文实例讲述了<?php启用sp ...

  6. CentOS6.9编译安装Sphinx并使用php7的sphinx扩展实现全文搜索

    本篇笔记记录了CentOS6.9编译安装Sphinx,编译安装php-sphinx扩展,并使用php7的sphinx扩展实现全文搜索的过程 nginx+mysql+php安装请参考以下笔记: Cent ...

  7. 【转载】Discuz!NT企业版之Sphinx全文搜索

    Discuz!NT企业版之Sphinx全文搜索(上) 作为Discuz!NT企业版中的一员,在设计企业级搜索架构之初,就考虑了海量数量,准实时索引更新,并发访问,安装布署等诸多方面.目前在生产环境下被 ...

  8. Flask 教程 第十六章:全文搜索

    本文转载自:https://www.jianshu.com/p/56cfc972d372 这是Flask Mega-Tutorial系列的第十六部分,我将在其中为Microblog添加全文搜索功能. ...

  9. MySQL 全文搜索支持, mysql 5.6.4支持Innodb的全文检索和类memcache的nosql支持

    背景:搞个个人博客的全文搜索得用like啥的,现在mysql版本号已经大于5.6.4了也就支持了innodb的全文搜索了,刚查了下目前版本号都到MySQL Community Server 5.6.1 ...

最新文章

  1. 哈哈,咱们团队早就不用try-catch-finally关闭资源了!
  2. AFNetworking 2.0使用(持续更新)
  3. 二叉树的建立与遍历(先中后层序)
  4. 【硬核干货】2500字全方面解读Python的格式化输出
  5. 【工具】Win 7/8/10 下使用 VC++6.0
  6. ecs 云服务器 管理控制台_【弹性计算】教您快速学会云服务器ECS 创建命令!
  7. 一份完整的问卷模板_如何写出一份优秀的个人简历?
  8. 工业物联网网关 数据采集网关
  9. 舞蹈模特欣欣(六)棚拍私房 大家看看像小龙女(李若彤)吗?
  10. acwing.95.费解的开关
  11. 无需公网IP,在外远程访问NAS威联通QNAP【内网穿透】
  12. 哈工大csapp大作业程序人生
  13. 使用Python将图片变成铅笔素描
  14. -xms -xmx无效
  15. 全国优秀计算机动画作品,分享創意——全国中小学优秀电脑作品分析.ppt
  16. 【Mac】让Safari 书签显示网站 Logo
  17. 你可能学了假流程图,7步教你绘制知识点汇总流程图
  18. JZOJ 6305. 最小值
  19. SQL--group by嵌套查询
  20. 罗斯蒙特流量计电极的维护

热门文章

  1. python源码加密打包成pyd,编译生成pyd,加密生成pyd
  2. 【Linux】centos桌面版关闭锁屏、屏幕常亮
  3. 区域分裂与合并matlab程序
  4. 基于DL的人脸超分辨率(FSR)任务综述
  5. 动力节点AJAX听课笔记
  6. 卡拉赞服务器延迟,魔兽世界怀旧服:卡拉赞测试被取消,tbc有可能延迟开放
  7. 【Blender教程】在Blender中制作森系少女(下)
  8. 王者荣耀花木兰攻略解析
  9. python 用汉字组成图片
  10. 外媒全方位展示PS5包装盒8K/4K120/HDR 公布数据转移方法