专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

ES在大数据中的应用

  一、相关软件介绍
  1。Elasticsearch
  Elasticsearch,简称为ES,是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。无论是结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch都能以支持快速搜索的方式高效地存储和索引它。
  本文在linux环境使用Elasticsearch7。14。0版本进行配置及操作。
  2。Kibana(辅助工具)
  Kibana是一个开源的分析与可视化平台,可实现以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。它和Elasticsearch一起使用,用于搜索、查看存放在Elasticsearch中的数据。
  3。elasticsearchhead(辅助工具)
  elasticsearchhead是用于监控Elasticsearch状态的客户端插件,包括数据可视化、执行增删改查操作等。
  4。elasticsearchpy
  elasticsearchpy是官方提供的Elasticsearchpython客户端库,它只是对Elasticsearch的restAPI接口做了一层简单的封装。二、环境搭建
  1。Elasticsearch部署
  (1)下载
  elasticsearch7140
  (2)解压
  tarzxvfelasticsearch7。14。0linuxx8664。tar。gz
  (3)安装ES不用使用root用户
  创建普通用户work。
  (4)修改配置文件configelasticsearch。yml
  配置项如下:
  cluster。name:escluster
  node。name:esnode
  node。master:true
  node。data:true
  node。maxlocalstoragenodes:1
  path。data:dataelasticsearchdata
  path。logs:dataelasticsearchlogs
  network。host:0。0。0。0
  http。port:9200
  transport。tcp。port:9300
  transport。tcp。compress:true
  discovery。seedhosts:〔192。168。1。90:9300〕
  cluster。initialmasternodes:〔esnode〕
  http。cors。enabled:true
  http。cors。alloworigin:
  (5)启动ES
  。binelasticsearch
  elasticsearch启动成功样例图
  后台方式启动ES:
  。binelasticsearchd
  (6)可能出现的错误及解决方法
  错误1:
  maxfiledescriptors〔4096〕forelasticsearchprocessistoolow,increasetoatleast〔65535〕
  解决方法:
  sudovimetcsecuritylimits。conf
  追加以下内容:
  softnofile65536
  hardnofile65536
  softnproc4096
  hardnproc4096
  错误2:
  maxnumberofthreads〔3802〕foruser〔work〕istoolow,increasetoatleast〔4096〕
  解决方法:
  sudovimetcsecuritylimits。d20nproc。conf
  修改为:
  softnproc4096
  错误3:
  maxvirtualmemoryareasvm。maxmapcount〔65530〕istoolow,increasetoatleast〔262144〕
  解决方法:
  sudovimetcsysctl。conf
  修改为:
  vm。maxmapcount262144
  执行以下命令生效:
  sysctlp
  2。Kibana
  (1)下载
  kibana7140
  (2)解压
  tarzxvfkibana7。14。0linuxx8664。tar。gz
  (3)修改配置文件configkibana。yml
  配置项如下:
  server。host:192。168。1。90
  server。shutdownTimeout:5s
  elasticsearch。hosts:〔http:192。168。1。90:9200〕
  monitoring。ui。container。elasticsearch。enabled:true
  server。port:5601
  kibana。index:。kibana
  i18n。locale:zhCN
  (4)启动kibana
  。binkibana
  kibana启动成功样例图
  (5)浏览器打开kibana开发工具
  kibana开发工具界面图
  3。elasticsearchhead
  (1)此处提供编译好的版本,解压后运行npmrunstart即可启动
  链接:
  https:pan。baidu。coms19F8zMdN94QhgqYP9vkPHHA
  提取码:a99y
  (2)自行下载编译
  cdelasticsearchhead
  npminstall
  npmrunstart
  elasticsearchhead启动成功样例图
  (3)浏览器打开elasticsearchhead,查看ES状态
  elasticsearchhead界面图
  集群健康值
  green:所有主要分片和复制分片都可用
  yellow:所有主要分片可用,但不是所有复制分片都可用
  red:不是所有的主要分片都可用
  当集群状态为red,它仍然正常提供服务,它会在现有存活分片中执行请求,此时需要尽快修复故障分片,防止查询数据的丢失。
  4。elasticsearchpy
  pipinstallelasticsearch7。14。0三、核心概念
  索引(Index)
  索引就是一类文档的集合,类似于关系型数据库中的表。索引由其名称进行标识,每个索引名称必须是小写。
  文档(Document)
  Index中单条记录称为文档,等同于关系型数据库表中的行。
  字段(Field)
  json结构的字段,等同于关系型数据库表中的列。
  映射(Mapping)
  Mapping是处理数据的方式和规则方面做一些限制,如:某个字段的数据类型、默认值、分析器、是否被索引等等,都是映射里可以设置的。
  分片(Shards)
  一个索引可以存储超过单个节点硬件限制的大量数据,相当于分表的概念。ES提供了将索引划分成多份的能力,每一份称之为分片。当创建一个索引的时候,可以指定想要的分片数量。允许水平分割扩展内容容量;允许在分片之上进行分布式的、并行的操作,进而提高性能吞吐量。
  副本(Replicas)
  在分片节点失败的情况下,提供了高可用性。复制分片从不与原主要分片置于同一节点上是非常重要的。扩展搜索量吞吐量,因为搜索可以在所有副本上并行运行。四、python操作ES
  1。连接ES
  fromelasticsearchimportElasticsearch
  defmain():
  连接ES
  esElasticsearch(〔192。168。1。90:9200〕,
  sniffonstartTrue,连接前测试
  sniffonconnectionfailTrue,节点无响应时刷新节点
  sniffertimeout60设置超时时间)
  ifnamemain:
  main()
  2。增
  创建索引
  定义mappingbody
  bodyindex{
  mappings:{
  properties:{
  name:{type:keyword},
  age:{type:long},
  tags:{type:text}
  }},
  settings:{
  index:{
  numberofshards:3,
  numberofreplicas:0
  }}}
  创建index
  reses。indices。create(indexindexname,bodybodyindex,ignore400)
  插入单个数据
  person1{
  name:张三,
  age:18,
  tags:勤奋学习十载寒窗,凿壁借光,囊萤映雪,手不释卷,有良好的表达能力。有耐心心态好,善于维系客户关系。果断热情勇敢孤僻活力,思想成熟能够独立工作。
  }
  reses。index(indexindexname,bodyperson1)
  批量插入数据
  fromelasticsearchimporthelpers
  insertinfos〔〕
  person2{
  index:indexname,
  name:李四,
  age:20,
  tags:有极强的领导艺术,公正严明铁面无私,公私分明。关心他人无微不至,体贴入微。精力充沛,并有很强的事业心。气吞山河正气凛然,善于同各种人员打交道。
  }
  person3{
  index:indexname,
  name:王五,
  age:19,
  tags:尊敬师长团结同学,乐于助人学习勤奋,用心向上,用心参加班级学校组织的各种课内外活动。用心开展批评与自我批评。
  }
  insertinfos。append(person2)
  insertinfos。append(person3)
  helpers。bulk(clientes,actionsinsertinfos)
  elasticsearchhead数据浏览界面
  3。删
  删除索引
  删除index
  reses。indices。delete(indexindexname,ignore〔400〕)
  按id删除文档
  按id删除
  reses。delete(indexindexname,idbKTgXYUBfH4USN9RFMOh)
  按条件删除文档
  按条件删除
  body{
  query:{
  match:{
  name:张三
  }}}
  reses。deletebyquery(indexindexname,bodybody,ignore〔400,404〕)
  4。改
  index
  body{
  name:王五,
  age:19,
  tags:尊敬师长团结同学,乐于助人学习勤奋,用心向上,用心参加班级学校组织的各种课内外活动。用心开展批评与自我批评。
  }
  reses。index(indexindexname,idbaTgXYUBfH4USN9RFMOh,bodybody)
  index()方法完成两个操作,如果数据不存在,那就执行插入操作,如果已经存在,那就执行更新操作。
  index实现更新时,body中必须写入全部字段,否则未包含的字段会被置为空。
  update
  body{
  doc:{
  name:王五
  }}
  es。update(indexindexname,idbaTgXYUBfH4USN9RFMOh,bodybody)
  5。查
  查看es中的索引
  indexinfoes。indices。get()
  查看索引的名称
  indexnamesindexinfo。keys()
  判断索引是否存在
  indexnameesindex
  print(es。indices。exists(indexname))
  查询文档数量
  doccountes。count(indexindexname)
  按id查询
  body{
  query:{
  match:{
  id:baTgXYUBfH4USN9RFMOh
  }}}
  reses。search(indexindexname,bodybody)
  按属性查询,结果过滤返回指定字段
  body{
  query:{
  match:{
  age:20
  }},
  source:〔name,tags〕
  }
  reses。search(indexindexname,bodybody)
  按年龄排序
  body{
  sort:{
  age:{
  order:descasc:升序,desc:降序
  }}}
  reses。search(indexindexname,bodybody)
  查询年龄大于18且小于等于20的文档
  body{
  query:{
  range:{
  age:{
  gt:18,
  lte:20
  }}}}
  reses。search(indexindexname,bodybody)
  按年龄降序且分页查询
  body{
  sort:{
  age:{
  order:descasc:升序,desc:降序
  }},
  from:0,
  size:1
  }
  reses。search(indexindexname,bodybody)
  精准查询
  body{
  query:{
  matchphrase:{
  tags:耐心
  }}}
  reses。search(indexindexname,bodybody)
  布尔查询:姓名为张三且tags中包含耐心
  body{
  query:{
  bool:{
  must:〔{
  match:{
  name:张三
  }},
  {
  matchphrase:{
  tags:耐心
  }}〕}}}
  reses。search(indexindexname,bodybody)
  布尔查询:姓名为王五且tags中不包含耐心
  body{
  query:{
  bool:{
  must:〔{
  match:{
  name:王五
  }}〕,
  mustnot:〔{
  matchphrase:{
  tags:耐心
  }}〕}}}
  reses。search(indexindexname,bodybody)五、DSL语句
  QueryDSL是一个Java开源框架用于构建类型安全的SQL查询语句。在查询时,通常先在Kibana中使用DSL验证查询语句的正确性,再转到python中使用。
  查询所有索引
  DSL执行界面图
  添加文档:id设为1
  PUTesindexdoc1
  {
  name:赵六
  }
  删除文档:id1
  DELETEesindexdoc1
  查询
  GETesindexsearch
  {
  query:{
  match:{
  age:18
  }}}
  先验证结果正确,将GETesindexsearch后{}的内容转到python的body中即可。
  智驱力科技驱动生产力
  智驱力科技驱动生产力

我的引产经历引产六个月性染色体异常男宝,下辈子做你的妈妈!引产到现在已经一百多天了,怀孕期间经历了备孕期调理,保胎期用药打针,到发现问题引产前的无助和不甘心,引产后的无奈与失落,原本不愿再提起,但是想想自己当初的心情,写出来也许可以给碰到幼儿必背的古诗有哪些?06岁幼儿早教宝宝必背唐诗三百首幼儿必背的古诗有哪些?036岁幼儿早教宝宝必背唐诗三百首大全悯农悯农。其一唐李绅春种一粒粟,秋收万颗子。四海无闲田,农夫犹饿死。悯农。其一译文春天只要播下一粒种子,秋天就可收获很多分年龄段处理宝宝阳性的办法小孩子阳了该怎么处理?特别是3岁以下的小孩子,因为未完全发育,气道较短,在受到上呼吸道感染后易出现发热憋气,导致呼吸不畅。小编在此提醒父母要做到心态平和科学防治及及时响应,宜呆在家营养风险儿童早期营养与成长趋势洞察报告发布12月19日,聚焦儿童早期发展的营养风险儿童早期营养与成长趋势洞察报告发布。报告发现,低出生体重早产喂养困难如食欲较差恐惧进食和挑食偏食,或伴有某些疾病如先心病慢性腹泻等的儿童,更二胎孕妇突然阵痛!好在路过的她多看了一眼扬州的徐女士(化名)是一名二胎产妇。12月16日,突然腹部阵痛的她前往当地一家医院。刚到医院,她就被职业敏感性超强的助产士拉到了产房,十几分钟之后孩子便诞生了。徐女士自己回想起来都过气老戏骨的尴尬现状接廉价商演卖假货消费情怀直播被骂哭娱乐圈是个更新换代快的领域,上一年还在舞台上闪耀的明星,今年甚至在台下都很少见他们的身影。而那些老戏骨就更不用说了,留下来的除了经典作品最多就剩些表情包了。这六位老戏骨为了生活,接黄晓明给叶珂开公司,要将其打造成新流量女星,杨颖被曝夜店寻欢名气和能力,本就是相辅相成的,得道者多助,失道者寡助,这个道可以是个人的专业技能,也可以是人品和本领,也可以是颜值和身材,同样也可以是个人背景,但在娱乐圈高素质的美女遍地是,看的不三星GalaxyNote系列兴亡史当三星在2010年推出GalaxyS系列的时候,走的是和一众安卓手机厂商一样的路线,也是选择将屏幕大小定在了一个比较微妙的尺寸上4英寸。这个尺寸既比iPhone大,又没有大很多,可2022年末手机购买指南实用千元机系列推荐大家好,我是鲤鱼王。上次的千元机推荐系列,帮助好多朋友选到了合适的手机,现在为大家带来2022年12月的千元机推荐,记得点赞支持哦!废话不多说,直接进入正题红米Note11TPro阿里研究院科技赋能乡村发展2022阿里研究院最新发布科技赋能乡村发展20221万前沿报告免费分享,获取方式见文末。疫情下中国涌现出的云学校无人机喷洒农药直播带货助销农产品等实践做法,充分显示出科技助力乡村发展的中国现在才知道,原来微信这样做,就能一键拼接长图!图片太多的时候,想要发朋友圈都不知道选哪张好,张张都是心头好怎么办?其实微信这样做,就能轻松拼接长图,再多照片也可以一起分享!第一步打开微信,点击我,进入页面后,选择收藏,这里可以
仅积三分的国足,主教练不换的前提下,你觉得还能出线吗?不换主教练,可以说一点希望都看不到,百分之百出不了线。换了主教练,因为已踢四轮,只积三分,出钱希望也不大,但总还有一些盼头和念想,给可怜的中国球迷留一点希望吧!有的一拼,关键是把教为什么几乎只有中国人爱用双卡双待的手机?文小伊评科技我们国内用户对于双卡双待的需求确实是比较高的,而国外(特指西方发达国家,美国,欧洲等地区,因为某些更落后一点的地区对于双卡双待的要求并不低)对于双卡双待的需求确实比较低在高强度的NBA比赛中,球员一般会喝什么水?为什么?一场48分钟的比赛,高强度的身体对抗,对运动员而言是巨大的消耗,补充能量和水分是必不可少的环节,那么球员一般都是喝什么水呢?赞助商的饮料佳得乐一直都是NBA唯一的饮料冠名商,这也是作为一个普通人,怎样能为中国足球做些贡献?作为一个普通人还是要多关心中国足球年轻人身体好的能够参与其中参加一些业余比赛。享受足球,快乐足球!对于一些有经验的对中国足球多提一些宝贵的意见。a也希望中国足协放下官架子。多听听来国足前锋中有谁的临门一脚让你印象深刻?应该是高洪波吧!我实在整不明白高洪波当前锋凭借什么?速度身高体能盘带过人技术每一项都无过人之处。如果讲团队精神,参加拼抢,他基本就是个非洲的猴子狒狒(废废)。但他却是个进球效率在中谁知道有怀孕35周生孩子的吗?35周可以生了么35周如存在特殊情况可以生产,但此时胎儿出生算作早产儿,围生期存在风险,孩子出生后应按照早产儿来精心照护。根据1961年世界卫生组织大会倡议,早产是指妊娠达到28周如何读儿童绘本?我的娃刚一岁,我读绘本的经验是投其所好,哪里夸张往哪里读,最好把娃也代入到故事中,比如绘本中有画着个小女孩的,我就说这是某某(我娃的名字)。所有的动物声音拟声词都不放过,怎么夸张怎你读过几本外国的世界名著,还记得是哪几本和其中的主人公吗?我读过很多外国文学名著,就记忆深刻的写几部吧引人入胜的基督山伯爵中的爱德蒙,邓代斯,海蒂,邓格拉斯,弗南,和维尔福检查官。飘郝恩嘉,白瑞德,卫希礼,媚兰。傲慢与偏见丽萃,达西。歌颂在游戏三国志11南蛮征伐剧本中,孟获如何防御蜀国大军的进攻?大家好,欢迎乘坐游戏探索机!说到三国志11后期的历史剧本,由于可供选择的势力数较少,而且名将大多死去,所以很多人觉得玩起来会很乏味。不过其中有一个势力趣味性不错,虽然有一定难度,但如果索尔斯克亚下课,谁还能拯救曼联?我觉得C罗代理主教练比较好自己想首发打全场都随心所欲,要谁上场就谁,想买那个球员就买谁罗粉就不会喷教练不配队友不行曼联配不上罗啦或许最接近能够拯救曼联的主教练就是穆里尼奥了,可惜被为啥篮协对郭艾伦的罚款最重?因为不配合某人呗。傻大个一手遮天。为什么不对胡明轩和阿联罚款呢?这是搞地域歧视还是。我觉得他不适合管理篮协。没格局。上海话小赤佬。对于郭艾伦被罚,我们要客观的去看待,无论你是哪里的
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网