全文检索:sphinx、elasticsearch、xunsearch 比较
思韵闪耀
2023-11-13
0

Sphinx 是一款基于SQL的高性能全文检索引擎

  • 快速创建索引:3分钟左右即可创建近100万条记录的索引,并且采用了增量索引的方式,重建索引非常迅速。

  • 闪电般的检索速度:尽管是1千万条的大数据量,查询数据的速度也在毫秒级以上,2-4G的文本量中平均查询速度不到0.1秒。

  • 为很多脚本语言设计了检索API,如PHP,Python,Perl,Ruby等,因此你可以在大部分编程应用中很方便地调用Sphinx的相关接口。

  • 为MySQL设计了一个存储引擎插件,因此如果你在MySQL上使用Sphinx,那简直就方便到家了。

  • 支持分布式搜索,可以横向扩展系统性能。

Elasticsarch 是一个分布式的开源搜索和分析引擎

  • Elasticsearch 是一个分布式的、开源的搜索分析引擎,支持各种数据类型,包括文本、数字、地理、结构化、非结构化。

  • Elasticsearch 是基于 Apache Lucene 的。

  • Elasticsearch 因其简单的 REST API、分布式特性、告诉、可扩展而闻名。

  • Elasticsearch 是 Elastic 产品栈的核心,Elastic 产品栈是个开源工具集合,用于数据接收、存储、分析、可视化。

Xunsearch 基于 xapian 和 scws 开发的全文搜索引擎

  • 简单易用:前端是使用脚本语言编写的开发工具 (SDK),目前支持 PHP 语言。API 简单清晰,开发难度极低,提供全中文的示例代码、文档、辅助脚本工具等。

  • 搜索功能齐全:支持包括字段检索、结果高亮、 字段排序、布尔语法、区间检索、聚合搜索、相关搜索、权重微调、拼音搜索、搜索建议等等专业搜索引擎具备的功能。

比较:


SphinxElasticsarchXunsearch
开发语言基于C/C++基于java基于C/C++
搜索功能支持1. 全文 2. 自动完成建议 3. 分面 4. 多字段 5. 同义词(称为字形) 6. 地理空间 7. 突出显示(称为片段) 8. 拼写检查(称为qsuggest)1.全文 2.自动完成建议 3.分面 4.多场 5.同义词 6.模糊 7.地理空间1.全文 2.搜索建议 3.分面 4.拼音搜索 5.突出显示 6.权重微调 7.拼写检查/纠错 8.突出显示
MySQL数据导入速度Sphinx > Elasticsearch > Xunsearch
增量更新支持ElasticSearch、Xunsearch 优于 SphinxElasticSearch、Xunsearch把增量更新作为首选CURD方式;Sphinx使用辅助表的方案不但不优雅,还会让你的其他系统变得复杂起来,在你频繁更改单条数据的时候很容易出错
可视化与辅助管理工具Sphinx ToolsKibana,Beats,Logstash,Marvel,HeadKibana支持可视化的报表数据,Beats、Logstash偏重于log收集
检索速度Sphinx > Elasticsearch > Xunsearch
对中文支持Xunsearch 优于 Sphinx、Elasticsearch,Xunsearch支持拼音搜索
搜索算法支持-Ranker自定义Elasticsearch > Sphinx > Xunsearch在自定义Ranker方面,Elastic Search的Function Score Query比Sphinx的expression-ranker强大许多。
横向扩展与高可用Elasticsearch > Sphinx(Xunsearch支持分布式不支持群集,前端和后端可以分离部署在不同服务器中)
资源占用Sphinx > Elasticsearch > Xunsearch
易用性Xunsearch > Sphinx > Elasticsearch
检索API语言支持多语言多语言只 PHP
支持数据类型文本、数字、地理(Geo)、结构化、非结构化Sphinx适用于结构化数据(预定义文本字段和非文本属性),但它不是处理非结构化数据(DOC,PDF,MP3等)的项目的最佳选择文本、数字、地理(Geo)、结构化、非结构化文本、数字
数据存储形式
Json


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

全文检索:sphinx、e...
Sphinx 是一款基于SQL的高性能全文检索引擎快速创建索引:3...
2023-11-13
常见的四大全文搜索引擎
全文检索技术以各类数据如文本、声音、图像等为对象,提供按数据的内容...
2023-11-13

热门资讯

SIOCADDRT: Netw... SIOCADDRT: Network is unreachable SIOCADDRT: 网络不可达...
centos7下创建新用户和组 linux下添加,删除,修改,查看用户和用户组 1 .增加一个test组 groupadd test...
linux通过sed 修改文件... 13sy.txt里面内容如下 A; B; C; write by luohao199621; 1.要...
关于cannot remove... 关于cannot remove directory: Directory not empty的解决办...
mount: unknown ... mount: unknown filesystem type LVM2_member解决方案 系统启...
OpenMediaVault安... OpenMediaVault 是一个基于Debian的专用 Linux 发行版,用于构建网络连接存储...
centos7 双网卡双网关的... 最近公司需要在一台服务器上同时使用内网和外网,并且都需要跨网段访问,因此需要双网关,但是一台机子上只...
ethtool 命令详解 1 概述 ethtool 是用于查询及设置网卡参数的命令。 2 命令详解 2.1 命令格式 (1) ...
CentOS7单网卡设置双IP... linux系统CentOS7单网卡设置双IP的方法,centos7.5、7.6、7.7设置双IP教程...
Linux进程状态D,S,Z的... Linux进程状态top,ps中看到进程状态D,S,Z的含义 在top和ps命令中有一列显示进程状态...