李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 每日心情
  • Now
  • 系列文章
  • AI工具集
  • 论坛
  • 左邻右舍
    • 左邻右舍
    • 博友圈
    • 游客中心
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • 网站地图
    • 网站统计
    • 另一个网站
    • 赞助
  • 🚇开往
!Destiny
惟坚韧者始能遂其志
  1. 首页
  2. 原创
  3. 正文

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

2019年9月6日 约 1,087 字4 分钟 262 0 0
本文最后更新于 2019年9月6日,距今已 2579 天,其中的信息可能已经发生变化,请注意甄别。

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
除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/article/tech/869

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

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

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

微信扫一扫分享

标签: ElasticSearch SQL
最后更新:2019年9月6日
相关文章
  • SpringBoot整合Elasticsearch游标查询(scroll)2020年10月16日
  • 千万级大表新增字段实战指南:告别锁表与业务中断2026年1月15日
  • 分库分表正在被淘汰?NewSQL与分库分表的深度博弈与选型指南2025年11月3日
  • Python SQL查询使用动态表名2022年5月13日
  • MySQL数据库查看执行计划以及名词解释2019年9月12日

李锋镝

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

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

文章评论

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

试问岭南应不好,却道:此心安处是吾乡。

听点儿音乐吧 朋友~
文章目录
最新 热点 随机
最新 热点 随机
给主题增加了游客中心功能 祝大家中秋安康 游本昌去世 Redis7+&8.X 全新进阶系列(02):Redis Functions 详解——替代Lua脚本的官方轻量化函数方案 Redis7.x&8.x 全新进阶系列(01):划时代升级总览——从6.x到7.x/8.x全版本变革全景 让WordPress静态化之Rocket‑Nginx
游本昌去世关于主题加载速度优化的一点儿小演进给主题增加了Now、每日心情、年度回顾、岁月同一天、随机漫步等功能WordPress缓存插件WP Fastest Cache、WP Rocket 、FlyingPress对比关于使用AI的一些思考WordPress下一代默认主题Ipsum预览
JAVA简单快速的读写Excel之EasyExcel 学艺不精啊,踩了一个Lambda的一个小坑,记录下 我的第一个WordPress插件:Dylan Custom Plugin上线了 阿里巴巴《Java开发手册》下载 数据库更新如何实现乐观锁 夏令时
最近评论
不凡 发布于 29 分钟前(09月28日) 是以邮箱作为唯一“注册”凭证,是吗?
李锋镝 发布于 3 小时前(09月28日) 是的,不然就有些太单调了,这样互动性也更好一些
我是军爸 发布于 4 小时前(09月28日) 还带有徽章功能啊,有点像论坛的感觉了
李锋镝 发布于 11 小时前(09月28日) 可惜了,真的可惜了
李锋镝 发布于 11 小时前(09月28日) 是啊,刘欢才62岁
标签聚合
JVM SQL K8s 架构 分布式 IDEA AI编程 WordPress MySQL ElasticSearch 日常 JAVA Spring AI SpringBoot 多线程 数据库 Redis Theme Claude
友情链接
  • sssr7844的博客
  • 九仞之行
  • 瓦匠个人小站
  • 彬红茶日记
  • 韩情脉脉
  • 韩小韩博客
  • 林羽凡
  • Serendipity
  • 懋和道人
  • Mr.Sun的博客
  • 志文工作室
  • 临窗旋墨
  • 知向前端
  • 老张博客
  • 搬砖日记
  • lijie blog
  • 若梦博客
  • 蜗牛工作室
  • 皮皮社
  • Honesty

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号