elasticsearch(elasticsearch,solr对比各自有哪些优缺点)

2025-03-02 05:50:01 0

elasticsearch(elasticsearch,solr对比各自有哪些优缺点)

本文目录

elasticsearch,solr对比各自有哪些优缺点

从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度。单机对比1. Solr 发布了4.0-alpha,试了一下,发现需要自己修改schema,好处是它自带一个data importer。在自己的计算机上测试了一下,导入的性能大概是:14分钟导入 3092730 条记录,约合 3682条/秒。2. 3百万条记录的情况下,模糊查询和排序基本都在1秒内返回3. 刚才的测试,是每个field单独存储,现在修改了一下配置文件,增加了一个copyField,所有的field都拷贝一份到text这个field里面去,导入的性能大概是:19分钟导入了3092730 条记录,约合 2713条/秒4. 3百万条记录的情况下,针对text的模糊查询基本在1秒内返回,但是针对所有记录的排序,大概要2~3秒5. 使用 elasticsearch 0.19.8,缺省配置,用单任务导入,导入性能是:20分钟导入了3092730 条记录,约合2577条/秒6. 3百万条记录的情况下,查询基本上在1秒内返回,但是模糊查询比较慢,第一次要10秒,后来大概要1~3秒。加上排序大概需要5秒,整体排序基本100ms查询及排序的指令:{ “query“: { “query_string“: { “query“: “*999*“ } }, “sort“: }7. Es0.19.8,用两个任务导入,导入性能是:13分钟导入了3092730 条记录,约合3965条/秒8. Solr全部建好索引后,占用磁盘空间是1.2G,es占用磁盘空间是4G单机对比2在一台Intel i7,32G内存的机器上,重新跑这两个的对比。不过有个重大的区别在于,Solr是在这台性能很好的机器上跑,而es的导入进程则是在一台Intel 四核 2.5G,4G内存的机器上跑的,也许会有性能的差异。ES版本0.19.8,Solr版本4.0-ALPHA。1. Solr的导入性能:3400万条记录,用时62分钟,平均9140条/秒,占用空间12.75G2. 使用 *999* 这样的模糊查询,3秒以内返回,稍长一点的查询条件 *00100014*,也是2~3秒返回3. Es的导入性能(设置Xmx为10G):3400万条记录,用时40分钟,平均14167条/秒,占用空间33.26G,客户端采用4个并发。4. 使用 *999* 这样的模糊查询,9秒返回,稍长一点的查询条件 *00100014*,11.8秒返回5. 如果不是针对所有字段查询,而是针对某个特定字段,比如 SAM_CODE: *00100014*,那么也是1秒以内返回。6. 结论:es的查询效率也可以很高,只是我们还不会用。7. 结论2:es有个设置是把所有字段放一块的那个,缺省是放一起,但是不知道为什么没起到应有的作用。备注:1. Solr第一次的那个内存使用的是缺省设置,这次改为10G,结果导入性能反而变差了,400万条记录,用了8分钟,平均8333条/秒,不知道为什么。2. 改回缺省的内存配置,导入速度仍然慢。3. 重启Linux,用10G的内存配置,再导入,5030万条记录,用时92分,约9112条/秒,说明导入速度和内存配置没有大差别4. 在10G配置的情况下,检索速度也差别不大。5. 为了搞清楚lucene4.0和solr4.0的进步有多大,下载了solr3.6.1,所幸的是4.0的配置文件在3.6.1上也可以用,所以很快就搭起来进行测试,导入性能为:3400万条记录,用时55分钟,约10303条/秒,占用空间13.85G。查询性能:*999*第一次11.6s,*00100014* 27.3s,相比4.0ALPHA的结果(5000万结果当中,*999*第一次2.6s,*00100014*第一次2.5s)来说,慢了很多,与es的性能差不多,因此,也许lucene4.0真的对性能有大幅提升?集群对比:采用4台同样配置(Intel i7,32G内存)的Centos 6.3组成的集群,进行对比。1. 首先是es,很方便的就组成了一个Cluster,等上一个3400万条的Index全部均衡负载之后进行测试,导入到另外一个Index当中。2. 导入性能:8500万条记录,用时72分钟,约为19676条/秒。在前5千万条记录导入时的速度在2万/条以上,初始的速度在2.2万/条。占用空间78.6G(由于有冗余,实际占用空间为157.2G)3. 查询性能:*999*第一次13.5秒,第二次19.5秒,第三次7.4秒,第四次7.1秒,第五次7.1秒*00100014*第一次17.2秒,第二次16.6秒,第三次17.9秒,第四次16.7秒,第五次17.1秒SAM_CODE:*999*,0.8s,1.3s,0.02s,0.02s,0.02sSAM_CODE: *00100014*,0.1s,0.1s,0.02s,0.03s,0.05s4. Solr4.0-ALPHA,SolrCloud的配置还算简单,启动一个ZooKeeper,然后其他三台机器访问这个地址,就可以组成一个Cloud:机器1: nohup java -Xms10G -Xmx10G -Xss256k -Djetty.port=8983 -Dsolr.solr.home=“./example-DIH/solr/“ -Dbootstrap_confdir=./example-DIH/solr/db/conf/ -Dcollection.configName=xabconf3 -DzkRun -DnumShards=4 -jar start.jar &其他机器:nohup java -Xms10G -Xmx10G -Dsolr.solr.home=“./example-DIH/solr/“ -DzkHost=192.168.2.11:9983 -jar start.jar &但是在执行 data import 的时候,频繁出现 OutOfMemoryError: unable to create new native thread。查了很多资料,把Linux的ulimit当中的nproc改成10240,把Xss改成256K,都解决不了问题。暂时没有办法进行。结论1. 导入性能,es更强2. 查询性能,solr 4.0最好,es与solr 3.6持平,可以乐观的认为,等es采用了lucene4之后,性能会有质的提升3. Es采用SAM_CODE这样的查询性能很好,但是用_all性能就很差,而且差别非常大,因此,个人认为在目前的es情况下,仍然有性能提升的空间,只是现在还没找到方法。

elasticsearch 9300 9200有什么区别

一、elasticsearch 9300 9200的协议不同:

1、9200作为Http协议,主要用于外部通讯。

2、9300作为Tcp协议,jar之间就是通过tcp协议通讯。

3、ES集群之间是通过9300进行通讯。

二、elasticsearch 9300 9200的端口不同:

1、9200 端口

9200 是 HTTP 协议的 RESTful 接口。

2、9300 端口

9300 是 TCP 通讯端口,集群间和 TCPClient 都走得它。

三:两端口的作用不同。

具体的作用如下:

9200 是ES节点与外部通讯使用的端口。它是

Elasticsearch的架构是什么样的

Elasticsearch是由Shay Banon发起的一个开源搜索服务器项目,2010年2月发布。迄今,该项目已发展成为搜索和数据分析解决方案领域的主要一员,广泛应用于声名卓著或鲜为人知的搜索应用程序。此外,由于其分布式性质和实时功能,许多人把它作为文档数据库。Elasticsearch架构简单介绍如下。索引索引(index)是Elasticsearch对逻辑数据的逻辑存储,所以它可以分为更小的部分。你可以把索引看成关系型数据库的表。然而,索引的结构是为快速有效的全文索引准备的,特别是它不存储原始值。如果你知道MongoDB,可以把Elasticsearch的索引看成MongoDB里的一个集合。如果你熟悉CouchDB,可以把索引看成CouchDB数据库索引。Elasticsearch可以把索引存放在一台机器或者分散在多台服务器上,每个索引有一或多个分片(shard),每个分片可以有多个副本(replica)。文档存储在Elasticsearch中的主要实体叫文档(document)。用关系型数据库来类比的话,一个文档相当于数据库表中的一行记录。当比较Elasticsearch中的文档和MongoDB中的文档,你会发现两者都可以有不同的结构,但Elasticsearch的文档中,相同字段必须有相同类型。这意味着,所有包含title字段的文档,title字段类型都必须一样,比如string。文档由多个字段组成,每个字段可能多次出现在一个文档里,这样的字段叫多值字段(multivalued)。每个字段有类型,如文本、数值、日期等。字段类型也可以是复杂类型,一个字段包含其他子文档或者数组。字段类型在Elasticsearch中很重要,因为它给出了各种操作(如分析或排序)如何被执行的信息。幸好,这可以自动确定,然而,我们仍然建议使用映射。与关系型数据库不同,文档不需要有固定的结构,每个文档可以有不同的字段,此外,在程序开发期间,不必确定有哪些字段。当然,可以用模式强行规定文档结构。从客户端的角度看,文档是一个JSON对象(关于JSON格式的更多内容,参见

搜索引擎 Elasticsearch 好在哪里,为什么 Wikimedia 打算要用它

首先ES是基于Lucene这个非常成熟的索引方案,另加上一些分布式的实现:集群,sharding,replication等。ES的优势主要可以看以下几个方面:1. 横向可扩展性:只需要增加一台服务器,做一点儿配置,启动一下ES进程就可以并入集群;2. 分片机制提供更好的分布性:同一个索引分成多个分片(sharding),这点类似于HDFS的块机制;分而治之的方式来提升处理效率,相信大家都不会陌生;3. 高可用:提供复制(replica)机制,一个分片可以设置多个复制,使得某台服务器宕机的情况下,集群仍旧可以照常运行,并会把由于服务器宕机丢失的复制恢复到其它可用节点上;这点也类似于HDFS的复制机制(HDFS中默认是3份复制);当然,也要知道其不足之处:1. 各节点的一致性问题:其默认的机制是通过多播机制,同步元数据信息,但是在比较繁忙的集群中,可能会由于网络的阻塞,或者节点处理能力达到饱和导致各节点元数据不一致——也就是所谓的脑裂问题,这样会使集群处于不一致状态。目前并没有一个彻底的解决方案来解决这个问题,但是可以通过将工作节点与元数据节点分开的部署方案来缓解这种情况。2. 没有细致的权限管理机制,也就是说,没有像MySQL那样的分各种用户,每个用户又有不同的权限。所以在操作上的限制需要自己开发一个系统来完成;总结:不过从优势与不足的对比看,我看还是瑕不掩瑜,是值得一试的技术。

elasticsearch 可以二次开吗

你好

elasticsearch是可以二次开的

  • 理解二次评分

    二次评分是指重新计算查询返回文档中指定个数文档的得分,es会截取查询返回的前N个,并使用预定义的二次评分方法来重新计算他们的得分

  • 二次评分查询结构

    从最简单的查询入手:match_all查询类型,返回索引中所有文档,每个返回的文档的得分都是1.0,这样可以充分体现二次评分对查询返回文档集的影响

  • 小结

    有时候,我们需要显示查询结果,并且使得页面上靠前文档的顺序能受到一些额外的规则控制,但遗憾的是,我们并不能通过二次评分来实现,也许有些读者会想到window-size参数,然而实际上这个参数与返回列表中靠前文档并无关系,他只是制定了每个分片应该返回的文档数,而且window_size不能小于页面大小

    二次评分功能并不能与排序一起使用,这是因为排序发生在二次评分之前,所以排序没有考虑后续新计算出来的文档得分

希望对你有帮助

哪位大师帮帮忙,使用elasticsearch的facet统计功能实现统计

使用elasticsearch的facet统计功能实现统计1,节省机器及运维成本:数据仍给opensearch,访问突增、数据突增系统上修改下配额,其他一概不关心。神马宕机、分布式、双集群、扩容、网络异常统统与我无关;2,收录数据自由控制:想收录什么内容就收录什么内容,完全自由控制,分钟级生效(很快到秒级);3,阿里云数据自动对接:OSS已经上线,ODPS\RDS稳步开发中,其他产品陆续都会支持。opensearch自动获取数据,一份数据多个场景使用,别提多省心了;4,应用结构自定义:搜索schema自主定义,什么字段、什么类型、什么可搜索、什么筛选,系统上任意配置;5,灵活而丰富的排序策略:内置丰富的排序特征,支持到表达式级别,

elasticsearch(elasticsearch,solr对比各自有哪些优缺点)

本文编辑:admin
: elasticsearch,arch,solr,

更多文章:


catchyou口语意思是什么(catch是什么意思)

catchyou口语意思是什么(catch是什么意思)

本文目录catch是什么意思catch的中文意思catch中文意思是什么catch是什么意思catch n.捕捉, 捕获物, (窗)钩v.捕获, 赶上(车船等), 发觉, 感染(疾病)vi.抓住,燃着习惯用语 | 词性变化 | 参考词汇 |

2025年3月7日 03:50

优秀网页设计官网(有哪些好的国外设计网站或者blog可以分享)

优秀网页设计官网(有哪些好的国外设计网站或者blog可以分享)

本文目录有哪些好的国外设计网站或者blog可以分享如何写一份好的企业网站改版方案有哪些好的国外设计网站或者blog可以分享插画01Flow Lava通过这个网站还可以找到其他与之相关的设计类网站,超方便!更多艺术留学知识关注公众号:KDA课

2025年3月15日 23:30

plc编程代码大全(PLC编程指令有些什么)

plc编程代码大全(PLC编程指令有些什么)

本文目录PLC编程指令有些什么在欧姆龙PLC编程中 各常用代码的含义 用法plc指令表三菱plc编程指令PLC编程 (指令语句)西门子plc编程的指令都有什么三菱plc编程指令是什么PLC编程指令有些什么首先,不同品牌的PLC厂家对同一(或

2025年2月9日 18:30

scanf语句(c语言中,scanf语句里面什么时候要加&,什么时候不要加&)

scanf语句(c语言中,scanf语句里面什么时候要加&,什么时候不要加&)

本文目录c语言中,scanf语句里面什么时候要加&,什么时候不要加&C语言中的scanf是什么意思C语言中利用scanf语句输入多个值的问题(1)执行语句”scanf(“%d%d,“&a,&b)与scanf“%d,%d“&a,&b“)分别表

2025年2月20日 08:40

数据库置疑修复(数据库“置疑”该怎么处理)

数据库置疑修复(数据库“置疑”该怎么处理)

本文目录数据库“置疑”该怎么处理数据库置疑怎样解决sql2000数据库数据文件损坏造成的置疑能修复吗如何解决SQL Server数据库置疑问题如何修复 SQL 数据库置疑sql数据库置疑,错误代码926,请问要如何修复msdb数据库置疑如何

2025年3月30日 22:50

nutritional什么意思(nutrient和nutrition的区别是什么)

nutritional什么意思(nutrient和nutrition的区别是什么)

本文目录nutrient和nutrition的区别是什么nutritions 什么意思nutrition与nutrient的区别nutrition是什么意思nutritional和nutritious的区别是什么nutrient和nutri

2025年3月27日 08:20

开发软件需要什么技术(软件开发都涉及什么技术)

开发软件需要什么技术(软件开发都涉及什么技术)

本文目录软件开发都涉及什么技术软件开发就业都需要掌握什么技术软件开发都涉及什么技术一般来说软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序

2025年3月8日 16:40

assurance是什么意思(insurance和assurance的区别是什么)

assurance是什么意思(insurance和assurance的区别是什么)

本文目录insurance和assurance的区别是什么能通俗讲一下四大会计师事务所的assurance是干嘛的么Audit和Assurance有什么区别assurance和audit分别是什么意思,区别是什么四大会计师事务所的assur

2025年3月17日 00:20

builtin(linux 怎么 builtin)

builtin(linux 怎么 builtin)

本文目录linux 怎么 builtinmodule.builtin是什么文件windows server 2008 域里面的用户和计算机builtin与users有什么区别求大神linux 怎么 builtin一、找出内置模块列表  要得

2025年3月23日 15:00

deductible(为什么在美国年薪10万美元还哭穷)

deductible(为什么在美国年薪10万美元还哭穷)

本文目录为什么在美国年薪10万美元还哭穷tax-deductible interest是什么意思在信用证中deductible是什么意思deductible amount是什么意思为什么在美国年薪10万美元还哭穷很多股民都说一买就跌,一卖就

2025年2月27日 19:20

哪里下载IIS?IIS怎么下载

哪里下载IIS?IIS怎么下载

本文目录哪里下载IISIIS怎么下载window7家庭普通版系统中,iis怎样下载及安装IIS安装包在哪下载怎样安装关于IIS的下载与安装到哪里下载IIS组件哪里下载IIS  你问的太含糊,我就随便给你几个吧。你可以再补充。  1. 微风I

2025年4月1日 06:50

tif是什么格式啊用什么打开呢?tif与bmp的区别

tif是什么格式啊用什么打开呢?tif与bmp的区别

本文目录tif是什么格式啊用什么打开呢tif与bmp的区别iphone怎么下载spotifytif是什么格式啊用什么打开呢.tif是TIFF文件的扩展名,标签图像文件格式(Tag Image File Format,简写为TIFF)是一种灵

2025年2月26日 03:00

assembly文件夹(为什么windows7中c盘assembly文件夹中不能正常的显示dll文件及其版本号,只显示成文件夹,该如何修复)

assembly文件夹(为什么windows7中c盘assembly文件夹中不能正常的显示dll文件及其版本号,只显示成文件夹,该如何修复)

本文目录为什么windows7中c盘assembly文件夹中不能正常的显示dll文件及其版本号,只显示成文件夹,该如何修复电脑里的assembly文件夹有什么用c盘的assembly文件夹里的东西怎么删C盘的assembly文件夹太大了!!

2025年2月11日 02:40

webservice过时了吗(html和css过时了吗)

webservice过时了吗(html和css过时了吗)

本文目录html和css过时了吗现在学C语言过时了吗html和css过时了吗不过时啊5只是增加了一些标签。HTML5 新元素HTML5中最常用的新元素有:新 语义元素 像 , , , .新 表单元素属性 像 number, date, ti

2025年3月12日 09:10

debian安装图形界面(安装求助,cd1安装debian7.2为什么没有图形界面)

debian安装图形界面(安装求助,cd1安装debian7.2为什么没有图形界面)

本文目录安装求助,cd1安装debian7.2为什么没有图形界面debian发行版中 图形界面和命令行中怎么切换debian 7怎么换成图形界面啊,进入后就变成这样debian系统安装完了,重启后进入了DOS环境,怎么进图形界面Debian

2025年3月4日 02:00

python while用法(python中while 1表示什么)

python while用法(python中while 1表示什么)

本文目录python中while 1表示什么关于Python while的使用python里面while循环是怎么循环的关于python 的while的用法python中什么时候使用while True什么使用while+条件python中

2025年3月3日 02:30

delphi过时了吗(现在学VB过时了吗)

delphi过时了吗(现在学VB过时了吗)

本文目录现在学VB过时了吗MFC真的过时了吗现在学VB过时了吗很多人都认为VB已经过时,其实并不是多数人想像的那样。从最新的TIOBE排名就可以看出,VB排名第12位。注意第6名是VB.NET,它是VB的升级版。本文只讨论VB,主要指VB6

2025年2月15日 14:10

fastdfs怎么读(fastdfs java 怎么使用)

fastdfs怎么读(fastdfs java 怎么使用)

本文目录fastdfs java 怎么使用fastdfs 怎么查看tracker服务nginx安装成功fastdfs怎么配置fastdfs怎么初始化配置文件fastdfs 与 为什么要搭建nginxfastdfs java 怎么使用impo

2025年3月30日 15:50

滑块木板模型类型归纳(静摩擦力中滑块与木板滑动模型)

滑块木板模型类型归纳(静摩擦力中滑块与木板滑动模型)

本文目录静摩擦力中滑块与木板滑动模型滑块木板模型是不可能按图一的方式位移吗高中物理,滑块木板模型问题(急,谢谢)滑块木板模型静摩擦力中滑块与木板滑动模型问题一,我反问下你,假如木块和木板之间连接的非常紧密,比如被胶水粘到一起了,最大静摩擦力

2025年3月13日 10:40

java定时器实现(Java定时器Java定时器怎么实现一个任务多个时间点,给别人用时间可以改动的)

java定时器实现(Java定时器Java定时器怎么实现一个任务多个时间点,给别人用时间可以改动的)

本文目录Java定时器Java定时器怎么实现一个任务多个时间点,给别人用时间可以改动的java定时器的几种实现方式以及配置参数的java怎样启动定时器java中怎么实现定时功能java定时器 每天凌晨 固定执行一个方法java怎样做定时器每

2025年2月21日 12:10

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:16
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索