es学习笔记

Elasticsearch学习笔记 (之后看看IK分词器)

为什么要学习es

  • 数据库数据量达到一定级别,可能会引发性能问题。
  • 多关键字搜索、分词搜索。传统数据库使用or拼接性能极差。
  • 权重、相关度排序,传统数据库orderby性能也极差。
  • 高亮处理
  • 总结:解决传统数据库大数据量下的性能瓶颈、优化复杂搜索的性能。

安装事项

  • es开发语言是java,运行es必须装jre,且得为1.8。
  • config目录下的elasticsearch.yml是核心配置文件
    • cluster.name:集群名,默认elasticsearch
    • node.name:节点名
    • path.data及path.log:索引存储目录及索引日志文件(主要用来排错,elk可以监听日志文件)目录
    • 默认端口:9200
  • 默认为:标准分词器:一字切法,一句话所有字被拆成1个字1个字去搜索。
  • 亚洲语种建议用IK分词器,一字切法不适合亚洲语种。IK就是一个中文分词器。

Es及其相关技术的相关组件的关系

Es和Solr都是对Lucence的封装,Es和Solr底层都是Lucence。

ES工作原理

ES核心概念

  • Cluster:集群。

    • ES可以作为一个独立的单个搜索服务器。不过,为了处理大型数据集,实现容错和高可用性,ES可以运行在许多互相合作的服务器上。这些服务器的集合称为集群。
  • Node:节点。

    • 形成集群的每个服务器称为节点。
  • Shard:分片。

    • 当有大量的文档时,由于内存的限制、磁盘处理能力不足、无法足够快的响应客户端的请求等,一个节点可能不够。这种情况下,数据可以分为较小的分片。每个分片放到不同的服务器上。
    • 当你查询的索引分布在多个分片上时,ES会把查询发送给每个相关的分片,并将结果组合在一起,而应用程序并不知道分片的存在。即:这个过程对用户来说是透明的。
  • Replia:副本。

    • 为提高查询吞吐量或实现高可用性,可以使用分片副本。
    • 副本是一个分片的精确复制,每个分片可以有零个或多个副本。ES中可以有许多相同的分片,其中之一被选择更改索引操作,这种特殊的分片称为主分片。
    • 当主分片丢失时,如:该分片所在的数据不可用时,集群将副本提升为新的主分片。
  • 全文检索。

    • 全文检索就是对一篇文章进行索引,可以根据关键字搜索,类似于mysql里的like语句。
      -全文索引就是把内容根据词的意义进行分词,然后分别创建索引,例如”你们的激情是因为什么事情来的” 可能会被分词成:“你们“,”激情“,“什么事情“,”来“ 等token,这样当你搜索“你们” 或者 “激情” 都会把这句搜出来。

ELK是什么

ELK=elasticsearch+Logstash+kibana
elasticsearch:后台分布式存储以及全文检索
logstash: 日志加工、“搬运工”
kibana:数据可视化展示。
ELK架构为数据分布式存储、可视化查询和日志解析创建了一个功能强大的管理链。 三者相互配合,取长补短,共同完成分布式大数据处理工作。

ES特点和优势

  • 分布式实时文件存储,可将每一个字段存入索引,使其可以被检索到。
  • 实时分析的分布式搜索引擎。
    分布式:索引分拆成多个分片,每个分片可有零个或多个副本。集群中的每个数据节点都可承载一个或多个分片,并且协调和处理各种操作;
    负载再平衡和路由在大多数情况下自动完成。
  • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。也可以运行在单台PC上(已测试)
  • 支持插件机制,分词插件、同步插件、Hadoop插件、可视化插件等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值