sphinx和elasticseach使用感受

公司项目需要,要将mysql数据库中的数据快速检索并分词。

开始使用的是sphinx,这个搜索引擎安装,配置,使用,都比较简单,无需安装其他插件,相对来说功能比较单一。

对于新增记录,我的处理方法是添加增量索引,定期合并到主索引,这导致索引体积越来越大。由于sphinx在运行时是将这些索引放在内存里的,如果索引体积超出内存容量,会导致报错无法执行,所以如果想用sphinx做搜索引擎的话,请务必做好事先规划。

sphinx的分词器用的是coreseek,作者前段时间网站停了几个月,万幸现在又可以使用了,感谢他们的无私奉献。

sphinx的资料国内较少,这算是一个遗憾。

之后经过讨论,决定将搜索引擎改为elasticsearch,简称ES。

ES的安装配置就很麻烦了,而且它最经常使用的地方是和logstash、kibana一起组成ELK,处理日志,想将mysql中的数据导入,需要借助其他工具。

我个人使用的是logstash的组件input,这种方法对于数据库的删除操作,很难处理。比较看好国人的一个项目,根据mysqldump动态更新,等我有空用过之后,再行评论。

ES比较赞的是分布式功能,分片自动调整,这个正确设置的话,很好用。

缺陷的话ES的安全方面不是很好,虽然5.0版本后有x-pack支持,但也使安装配置麻烦了很多。

分词用的是ik,我比较习惯粗粒度,细粒度导致索引体积过大了。

总结一下:sphinx安装配置简单,功能单一,但性能不差,个人比较推荐作为mysql的插件来安装使用(还未有时间尝试)。ES呢,安装配置复杂了很多,功能比较强大,分布式可以进行很多细微调整,就是安全性和传统数据库导入不是很容易,不出意外的话,我最后用的就是ES了。

时间: 2024-07-29 00:53:40

sphinx和elasticseach使用感受的相关文章

20150920Axure总结与感受

Axure:快速制作网页原型的工具. RP(Rapid Prototype) 菜单栏 发布P生成原文件F8. Ctrl+'显示网格    直接拉动标尺   按住Ctrl不放拖动标尺在每个页面都有   Ctrl+Z退一步 用例之间有顺序,互斥. 登录界面 准备空文本(命名为提示框)→新增用例(鼠标单击事件)→判断新增条件→设置文本→提示框→确定(最后一定把条件范围小的调在上面) 全局变量 菜单栏项目设置一个全局变量UserName→点击登录按钮→用例1编辑条件→用户名.密码任意不为空→设置变量值→

mac 下 sphinx + mysql + php 实现全文搜索(xampp)

原理: 使用sphinx 中的indexer 生成索引数据 service/web 端 利用searched 调用索引数据 步骤: 下载 sphinx: 下载地址:http://sphinxsearch.com/downloads/release/  这个可以根据自己电脑的系统来下载相应的安装包. ps:我是mac,所以 我下载了mac安装包,按照文档上的安装 发现不行,后来 我下载了第一个 即 Source tarball (tar.gz), 才安装成功的. 安装sphinx 参考地址:htt

sphinx中复合属性字段sql_attr_multi的用法

sphinx中复合属性字段sql_attr_multi的用法 sql_attr_multi在sphinx可以用来检索有层级关系的数据,效率相当高,如,在数据库中用一个4层的分类,分类下对应着不用的文章,现在需要做一个文章列表,要求,选择第一级分类时属于它的子分类的文章也要显示出来,就可以用下面的方法建索引 sql_query=                 SELECT di.company_document_id as id,di.company_document_id,          

linux配置sphinx

1. 配置索引 cd /usr/local/sphinx/etc/ cp sphinx.conf.dist sphinx.conf //备份配置文件,防止改错 vim sphinx.conf 配置文件结构: # 主数据源,(main名字可更改) source main{ type = mysql #数据库类型 sql_host = localhost #MySQL主机IP sql_user = test #MySQL用户名 sql_pass = #MySQL密码 sql_db = test #M

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

Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能.Sphinx可以非常容易的与SQL数据库和脚本语言集成.当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据.Sphinx创建索引的速度为:创建100万条记录的索引只需3-4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒.Sphinx的

sphinx初识

sphinx(SQL Phrase Index),查询词组索引. 定义:Sphinx是一个全文检索引擎. 特性: 1.高速索引 (在新款CPU上,近10 MB/秒); 2.高速搜索 (2-4G的文本量中平均查询速度不到0.1秒); 3.高可用性 (单CPU上最大可支持100 GB的文本,100M文档); 4.提供良好的相关性排名 支持分布式搜索: 提供文档摘要生成: 5.提供从MySQL内部的插件式存储引擎上搜索 支持布尔,短语, 和近义词查询: 6.支持每个文档多个全文检索域(默认最大32个)

谈谈自己学IT的感受

从毫不相关到进入这个行业学习,短短的几个月就让我对这个行业有了更多的认识.当初也有所犹豫,但是随着朋友以及网上的了解,我还是选择了这个行业,因为我相信未来是互联网的世界!学习了也有一段时间,谈谈我的感受吧!我学的是前端,有很多人说前端比JAVA低一个档次,比UI高一层,在中间处于连接的位置,很累!实然,听起是比较累,但工作不就是累吗,难道工作轻松还想高收入,这种工作有,但这样的人生恐怕无意义吧!出身社会两年,重新开始学习的阶段,对我来说是一种挑战,静下心学习,可能开始并不能一蹴而就,但选择了就没

Oracle学习 第26天 Toad试用感受

昨晚想跟踪Oracle语句,网上有人推荐了Toad,就下载来试试,大概记下心得吧: 一.整体感受 1.图标+1S,启动后还有[呱],在来自东方的神秘力量中,不知不觉中又续了一秒,Exciting 2.界面风格还是比较早期的风格,虽然选项里有一些参数可以调(默认已经是Enhance了),但调来调去还是一些XP.Office之类的,too simple 3.菜单非常丰富,选项里也很多,我比较喜欢所有东西都能自定义的工具. 二.版本 1.最新版12.10,有64位,只有英文版 2.中文版的有12.8,

读书笔记,《我还是喜欢东京——带你感受城市细节》

#,洗手间的细节 *,使用多国文字,包括中文: *,有小孩换尿布的地方: *,女厕所有化妆台: *,女厕所有男小孩小便器: *,女厕所有卖卫生巾: *,有小孩洗手台: *,厕所有播放流水音乐的小音箱,是不是给我们催眠用的: *,洗手液是自动感应的的,不用手按: *,马桶上有冲屁屁的,冲女性阴部的,这厕所有意思: *,公共厕所的卫生间的门内侧有个踏板,人可以脱了鞋站在上面换裤子,很贴心: #,城市生活细节 *,搬家公司会准备很多毯子,用来包括家具,也用来铺在电梯或者各种容易磕碰到的地方,这个在中国