0
点赞
收藏
分享

微信扫一扫

Elasticsearch初探



文章目录

  • es初识
  • 安装es
  • 安装 ElasticSearch-head
  • 安装kibana
  • 了解es基本概念
  • ik分词器
  • 下一节将学习kibana简单操作es


es初识

官方网址:https://www.elastic.co/cn/products/elasticsearch Github:https://github.com/elastic/elasticsearch
总结:
1、elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。
2、elasticsearch隐藏了Lucene的复杂性,对外提供Restful 接口来操作索引、搜索。

突出优点:
1.扩展性好,可部署上百台服务器集群,处理PB级数据。
2.近实时的去索引数据、搜索数据。
es和solr选择哪个?
1.如果你公司现在用的solr可以满足需求就不要换了。
2.如果你公司准备进行全文检索项目的开发,建议优先考虑elasticsearch,因为像Github这样大规模的搜索都在用它。

安装es

发现docker是真的好用,一些基础服务都可以通过docker直接安装,方便快捷高效;下载下面链接都有,超级好用:
docker还不会的同学点我

安装 ElasticSearch-head

推荐直接在谷歌的应用商店里面下载ElasticSearch Head;

方便快捷:

Elasticsearch初探_数据


直接点击安装的插件即可:

Elasticsearch初探_docker_02

安装kibana

官网下载地址版本是7-14:https://www.elastic.co/cn/downloads/past-releases/kibana-7-14-0 我用的是7-7的:下载地址:https://www.elastic.co/cn/downloads/past-releases/kibana-7-7-0 我用的阿里网盘不允许分析这种类型的文件…自己下载吧
文件目录比较简单:
修改配置文件在config/kibana.yml下:
端口,es地址,中文;

server.port: 5601
elasticsearch.hosts: ["http://localhost:9200"]
i18n.locale: "zh-CN"

然后终端直接进入bin目录执行 ./kibana即可执行,kibana版本跟es版本最好对应,否则可能启动失败;
启动成功访问:http://localhost:5601/app/kibana进入kibana界面;

进入开发工具:

Elasticsearch初探_搜索引擎_03

了解es基本概念

  1. 索引(ElasticSearch)包多个分片
  2. 字段类型(映射)字段类型映射(字段是整型,还是字符型…)
  3. 文档 (几乎已经废除了)
  4. 分片(Lucene索引,倒排索引)

可以把es当做mysql进行学习,前期理解就很明了

mysql

es

数据库database

索引 indices

表(tables)

文档 types es已经弃用,相当于一个库就一个表就好了

行 rows

文档documents

字段 columns

fields

es数据跟mysql数据差不多吧:

Elasticsearch初探_docker_04

elasticsearch在后台把每个索引划分成多个分片,每分分片可以在集群中的不同服务器间迁移
一个分片相当于一个Lucene索引,所以一个索引包含多个lucene索引,lucene索引其实就是一个包含倒排索引的文件目录

  • 什么是倒排索引

正排索引:文档 —> 单词
倒排索引:单词 —> 文档
举个栗子:

Elasticsearch初探_elasticsearch_05


倒排索引列表:


Elasticsearch初探_docker_06

注意:elasticsearch在创建索引的时候,默认创建5个分片,一份副本,这个数据可以进行修改。分片的数量只能在创建索引的时候进行指定,不能在后期进行修改,备份可以进行动态修改的。那么我们怎么进行分片,分多少片呢? 分片不是分的越多越好,也不是越少越好,es推荐的最大jvm堆空间是30-32G,所以把分片的最大容量设置为30G,然后根据数据大小进行估算,如果有180G的数据,那就分六片,或者7片,因为后期不能修改,所以当数据增长起来的,需要重新进行分片的时候,也只能重新新建索引,并对数据重新索引.

单机的ElasticSearch服务,也算个集群,且默认集群名为elasticsearch,我的是docker启动的默认是docker-cluste

Elasticsearch初探_elasticsearch_07

ik分词器

https://github.com/medcl/elasticsearch-analysis-ik/releases?page=6 我的是docker,直接进入到docker命令行里面

Elasticsearch初探_docker_08


然后安装ik分词器:

docker exec -it 3ce9d7362ec615e80d254e5d6ba1e2936ca521b368d007d51db6a1187f1de627 /bin/sh

cd plugins/

elasticsearch-plugin install  https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip

Elasticsearch初探_搜索引擎_09


安装完成重启;测试ik分词器:

Elasticsearch初探_数据_10

下一节将学习kibana简单操作es


举报

相关推荐

0 条评论