李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 读书观影
  • 系列
  • AI工具集
  • 论坛
  • 友圈
    • 友链
    • 朋友圈
    • 游客中心
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • Now
    • 每日心情
    • 网站地图
    • 网站统计
    • 赞助
  • 星球穿梭
  • 🚇开往
静亦定 动亦定
惟坚韧者始能遂其志
  1. 首页
  2. 原创
  3. 正文

ElasticSearch入门-基本概念介绍以及安装

2019年9月6日 438 0 0
本文最后更新于 2019年9月6日,距今已 2626 天,其中的信息可能已经发生变化,请注意甄别。

Elasticsearch基本概念

Elasticsearch是基于Lucene的全文检索库,本质也是存储数据,很多概念与传统关系型数据库类似。

传统关系型数据库与Elasticsearch进行概念对比

Elasticsearch 传统关系型数据库
indices(索引库) Databases(数据库)
type(类型) Table(数据表)
Document(文档) Row(行)
Field(字段) Columns(列)
mappings(映射配置) 表结构

具体说明

概念 具体说明
indices(索引库) indices是index的复数,代表许多的索引
type(类型) 类型是模拟传统关系型数据库中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。不过这会导致索引库混乱,因此未来版本中会移除这个概念
Document(文档) 存入索引库原始的数据。比如每一条商品信息,就是一个文档
Field(字段) 文档中的属性
mappings(映射配置) 字段的数据类型、属性、是否索引、是否存储等特性
索引集(Indices,index的复数) 逻辑上的完整索引
分片(shard) 数据拆分后的各个部分
副本(replica) 每个分片的复制

注:Elasticsearch本身就是分布式的,因此即便你只有一个节点,Elasticsearch默认也会对你的数据进行分片(默认5个分片)和副本操作,当你向集群添加新数据时,数据也会在新加入的节点中进行平衡。

安装Elasticsearch和ik分词器

  • Elasticsearch下载地址:Elasticsearch官网

  • ik分词器下载:elasticsearch-analysis-ik

安装前需要配置JAVA环境

Mac

安装Elasticsearch

homebrew安装

brew install elasticsearch

运行

  • 查看状态

    $ brew services list

  • 启动

    $ brew services start elasticsearch

  • 重启

    $ brew services restart elasticsearch

  • 停止

    $ brew services stop elasticsearch

浏览器输入 http://localhost:9200 查看ES是否运行

你也可以打开终端,执行以下操作:

curl 'http://localhost:9200/?pretty'

最终的响应结果和下面类似:

{
  "name": "pYaFJhZ",
  "cluster_name": "docker-cluster",
  "cluster_uuid": "oC28y-cNQduGItC7qq5W8w",
  "version": {
    "number": "6.8.2",
    "build_flavor": "oss",
    "build_type": "tar",
    "build_hash": "b506955",
    "build_date": "2019-07-24T15:24:41.545295Z",
    "build_snapshot": false,
    "lucene_version": "7.7.0",
    "minimum_wire_compatibility_version": "5.6.0",
    "minimum_index_compatibility_version": "5.0.0"
  },
  "tagline": "You Know, for Search"
}

安装ik分词器

终端下安装:

$ cd /usr/local/Cellar/elasticsearch/ES版本

$ bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.2/elasticsearch-analysis-ik-6.8.2.zip

install后边的地址为ES对应版本的ik分词器的下载地址

Windows

安装Elasticsearch

下载安装包,解压,然后双击执行 bin/elasticsearch.bat进行安装。

运行

命令提示符

elasticsearch.bat -d

或者直接双击执行elasticsearch.bat

浏览器输入 http://localhost:9200 查看ES是否运行。

或者下载cURL(点此下载),使用cURL的方式验证:

curl 'http://localhost:9200/?pretty'

安装ik分词器

命令提示符下安装:

\bin\elasticsearch-plugin.bat install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.2/elasticsearch-analysis-ik-6.8.2.zip

注:

  1. 安装完ik分词器之后需要重启ES
  2. Elasticsearch版本和elasticsearch-analysis-ik需要一一对应!

Elasticsearch配置文件elasticsearch.yml

配置参数 介绍
cluster.name 集群名称,默认是elasticsearch
node.name 节点名,称默认从elasticsearch-2.4.3/lib/elasticsearch-2.4.3.jar!config/names.txt中随机选择一个名称
path.data 指定es的数据存储目录,默认存储在es_home/data目录下
path.logs 指定es的日志存储目录,默认存储在es_home/logs目录下
bootstrap.memory_lock 锁定物理内存地址,防止elasticsearch内存被交换出去,也就是避免es使用swap交换分区
network.host 为es设置ip绑定,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问
http.port 为es设置自定义端口,默认是9200(在同一个服务器中启动多个es节点的话,默认监听的端口号会自动加1:例如:9200,9201,9202...)
discovery.zen.ping.unicast.hosts 当启动新节点时,通过这个ip列表进行节点发现,组建集群默认节点列表: ["127.0.0.1", "[::1]"] 127.0.0.1:表示ipv4的回环地址。 [::1]:表示ipv6的回环地址
discovery.zen.minimum_master_nodes 通过配置这个参数来防止集群脑裂现象 (集群总节点数量/2)+1
gateway.recover_after_nodes 一个集群中的N个节点启动后,才允许进行数据恢复处理,默认是1
action.destructive_requires_name 设置是否可以通过正则或者_all删除或者关闭索引库,默认true表示必须需要显式指定索引库名称

未完待续...

参考链接

5
  1. 1Elasticsearch官网www.elastic.co
  2. 2elasticsearch-analysis-ikgithub.com
  3. 3http://localhost:9200localhost
  4. 4http://localhost:9200/?prettylocalhost
  5. 5点此下载curl.haxx.se
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

ElasticSearch入门-基本概念介绍以及安装

也可使用浏览器菜单中的「分享」功能

微信扫一扫分享

标签: ElasticSearch SQL
最后更新:2019年9月6日
相关文章
  • 解决Elasticsearch分页查询窗口数据太大问题2019年11月20日
  • 从SQL规范性检查、表结构索引检查着手分析如何优化SQL2021年3月3日
  • Spring Boot 2.x使用PostgreSQL数据库2021年10月9日
  • SpringBoot整合GraphQL入门教程2022年1月28日
  • Spring Boot 2.5.0重新设计的spring.sql.init 配置有啥用?2021年5月29日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >
1234567891112131415161718192021222324252627282930313233343536373839404142434446474849505152535455575859606162636465666769727476777879808182858687909293949596979899
取消回复
…

文章评论

还没有评论,快来抢沙发吧~

一女子请道士驱鬼,说道,“大师!最近实在是奇怪,先是上楼梯,那木头楼梯竟然就硬生生粉碎了,后来我又坐到椅子上,椅子竟然也折了!最恐怖的是,晚上睡觉的时候,床竟然也塌了!请大师救救我!我好害怕!”
道士听罢,掏出桃木剑,舞动一通,剑指女子,大喝:“你该减肥了!”

听点儿音乐吧 朋友~
文章目录
最新 热点 随机
最新 热点 随机
给服务器加了WAF 又一个逆天改命的人:小小徐 AI的生成能力等于生产力吗? NGINX严重漏洞(CVE-2026-15176、CVE-2026-93479、CVE-2026-97205) Kratos-plus v1.1.27更新说明 php2shell远程执行漏洞修复(CVE-2026-109618 和 CVE-2026-109619)
给主题增加了游客中心功能心气没了,干什么都不得劲给服务器加了WAF我觉得是时候公布我的导航网站了游本昌去世关于主题加载速度优化的一点儿小演进
九种常用的UML图总结 HBASE初探 Claude Haiku 4.5、Claude Sonnet 4.6、Claude Opus 4.7 区别以及各自的新特性 应用型负载均衡(ALB)和网络型负载均衡(NLB)区别 如何在面试中介绍自己的项目经验 Kratos-plus v1.1.20版本更新说明
最近评论
李锋镝 发布于 5 天前(11月09日) 我也刷到了,说是恶意引流的
皮皮社长 发布于 6 天前(11月09日) 我刷到的,怎么是说剧本骗流量的?如果真的是用来骗流量,那真恶心。欺骗网友感情。
李锋镝 发布于 6 天前(11月09日) 现在我这个是十个,其实也够用了
老张博客 发布于 6 天前(11月09日) 雷池唯一不好的就是只能免费5个网站。
fairy 发布于 1 周前(11月06日) 机器人快来我这里吧!
标签聚合
日常 K8s SpringBoot WordPress Spring MySQL 分布式 数据库 AI编程 Claude JAVA ElasticSearch AI Theme 架构 JVM 多线程 Redis SQL IDEA
友情链接
  • 搬砖日记
  • Honesty
  • 韩情脉脉
  • 志文工作室
  • 林羽凡
  • 九仞之行
  • 韩小韩博客
  • 老张博客
  • 哥斯拉
  • sssr7844的博客
  • 懋和道人
  • 皮皮社
  • Mr.Sun的博客
  • 瓦匠个人小站
  • 知向前端
  • Serendipity
  • 彬红茶日记
  • 刘永博客
  • lijie blog

COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.

lifengdi.com 十年之约虫洞

Domain age badge for lifengdi.com

Theme Kratos-plus By Dylan Li

津ICP备2024022503号-3

京公网安备11011502039375号