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分词器

安装前需要配置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表示必须需要显式指定索引库名称

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

ElasticSearch入门-基本概念介绍以及安装的更多相关文章

  1. 科学计算三维可视化---Mayavi入门(Mayavi介绍和安装)

    Mayavi介绍 是基于VTK开发的可视化软件(更加高效),Mayavi完全由python编写,方便使用,而且可以使用python编写扩展,嵌入到用户程序中 安装要求 VTK >pip3 ins ...

  2. [转载]FFmpeg完美入门[1] - FFmpeg介绍及安装

    1 FFmpeg简介 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视 频的完整解决方案.它包含了非常先 ...

  3. Elasticsearch 入门 - 基本概念

    NRT Elasticsearch 是一个 接近实时 的搜索平台.这意味着从你索引文档到其可以被搜索中间存在着一个轻微的延迟(通常为1秒钟). Cluster 一个或多个节点的完整数据.聚合索引和搜索 ...

  4. TensorFlow入门,基本介绍,基本概念,计算图,pip安装,helloworld示例,实现简单的神经网络

    TensorFlow入门,基本介绍,基本概念,计算图,pip安装,helloworld示例,实现简单的神经网络

  5. Elasticsearch入门教程(二):Elasticsearch核心概念

    原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...

  6. 《读书报告 -- Elasticsearch入门 》-- 安装以及简单使用(1)

    <读书报告 – Elasticsearch入门 > 第一章 Elasticsearch入门 Elasticsearch是一个实时的分布式搜索和分析引擎,使得人们可以在一定规模上和一定速度上 ...

  7. Elasticsearch 入门,基本概念和操作

    基本概念 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例. 单个 Elastic 实例称为一个节点(nod ...

  8. ElasticSearch 入门介绍

    tags: 第三方 lucene [toc] 1. what Elastic Search(ES)是什么 全文检索和lucene 全文检索 优点:高效,准确,分词全文检索允许用户输入一些关键字,从数据 ...

  9. Elasticsearch介绍和安装与使用

    转载:https://blog.csdn.net/weixin_42633131/article/details/82902812 1.Elasticsearch介绍和安装 1.1.简介1.1.1.E ...

随机推荐

  1. php curl 传递数据

    <?php header("Content-type: text/html; charset=utf-8"); /** * curl 传递数据 */ class curl { ...

  2. codeforces#1248D2. The World Is Just a Programming Task(括号匹配转化为折线处理)

    题目链接: http://codeforces.com/contest/1248/problem/D2 题意: 可以执行一次字符交换的操作 使得操作后的字符串,循环移位并且成功匹配的方案最多 输出最多 ...

  3. ZR#957

    ZR#957 解法: 首先 $ T $ 必须得要是 $ S $ 的子序列,不然不存在好的下标序列,因此一定无解. 考虑判断一个串 $ T $ 是不是 $ S $ 子序列的贪心做法:每次从没有匹配的位置 ...

  4. [Shell]CVE-2019-0708漏洞复现及修复补丁

    0x01 漏洞原理 Windows系列服务器于2019年5月15号,被爆出高危漏洞,该漏洞影响范围较广,windows2003.windows2008.windows2008 R2.windows 7 ...

  5. Why use swap when there is more than enough RAM.

    Swappiness is a property of the Linux kernel that changes the balance between swapping out runtime m ...

  6. C++生成DM数据点导入DM

    在c++编写正弦曲线点的代码,源代码如下: //想要使用内置的π,此句必不可少! #define _USE_MATH_DEFINES #include<iostream> #include ...

  7. Alpha项目冲刺! Day3-产出

    各个成员今日完成的任务 林恩:任务分工,博客撰写,完善设置等模块 杨长元:安卓本地数据库基本建立 李震:完成注册页面 胡彤:完善服务端 寇永明:画图,学习 王浩:画图,学习 李杰:画图,学习 各个成员 ...

  8. go中json的tag使用

    指定json中的key名字: 指定数据类型, string number, boolean 忽略空值(值不为空, 不忽略) 忽略字段 "-" (无论有没有值, 都忽略) type ...

  9. docker tcp配置

    1. Ubuntu Docker deamon监听tcp端口设置 https://www.jianshu.com/p/e278b0e44e1b 2. Centos https://www.cnblog ...

  10. 如何在Windows Server 2008服务器中把Tomcat启动程序添加到服务中

    转自:https://blog.51cto.com/zdytesting/2314093 tomcat所在的bin目录: 添加服务: service install service_name 移除服务 ...