ElasticSearch入门-基本概念介绍以及安装
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是否运行
你也可以打开终端,执行以下操作:
最终的响应结果和下面类似:
{
"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的方式验证:
安装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
注:
- 安装完ik分词器之后需要重启ES
- 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入门-基本概念介绍以及安装的更多相关文章
- 科学计算三维可视化---Mayavi入门(Mayavi介绍和安装)
Mayavi介绍 是基于VTK开发的可视化软件(更加高效),Mayavi完全由python编写,方便使用,而且可以使用python编写扩展,嵌入到用户程序中 安装要求 VTK >pip3 ins ...
- [转载]FFmpeg完美入门[1] - FFmpeg介绍及安装
1 FFmpeg简介 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视 频的完整解决方案.它包含了非常先 ...
- Elasticsearch 入门 - 基本概念
NRT Elasticsearch 是一个 接近实时 的搜索平台.这意味着从你索引文档到其可以被搜索中间存在着一个轻微的延迟(通常为1秒钟). Cluster 一个或多个节点的完整数据.聚合索引和搜索 ...
- TensorFlow入门,基本介绍,基本概念,计算图,pip安装,helloworld示例,实现简单的神经网络
TensorFlow入门,基本介绍,基本概念,计算图,pip安装,helloworld示例,实现简单的神经网络
- Elasticsearch入门教程(二):Elasticsearch核心概念
原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...
- 《读书报告 -- Elasticsearch入门 》-- 安装以及简单使用(1)
<读书报告 – Elasticsearch入门 > 第一章 Elasticsearch入门 Elasticsearch是一个实时的分布式搜索和分析引擎,使得人们可以在一定规模上和一定速度上 ...
- Elasticsearch 入门,基本概念和操作
基本概念 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例. 单个 Elastic 实例称为一个节点(nod ...
- ElasticSearch 入门介绍
tags: 第三方 lucene [toc] 1. what Elastic Search(ES)是什么 全文检索和lucene 全文检索 优点:高效,准确,分词全文检索允许用户输入一些关键字,从数据 ...
- Elasticsearch介绍和安装与使用
转载:https://blog.csdn.net/weixin_42633131/article/details/82902812 1.Elasticsearch介绍和安装 1.1.简介1.1.1.E ...
随机推荐
- F 阎小罗的Minimax (第十届山东理工大学ACM网络编程擂台赛 正式赛 )
题解:by Mercury_Lc 阎小罗的矩阵给的n和m都不超过300,枚举一下所有情况就可以了,用前缀和来储存.数组a[x][y]代表前x行前y列的和是多少,那么枚举每一种切割的方式就可以.注意一下 ...
- ajax案例_校验用户名
目录 ajax案例_校验用户名 代码下载 需求 流程 搭建环境 开发代码 1_jsp 1_servlet 1_service.dao 2_servlet 2_jsp 测试后,功能实现,完结撒花 aja ...
- C# 获取网络文件 批量压缩成 文件流 并下载 压缩包
需要的DLL : ICSharpCode.SharpZipLib.dll JS部分 //下载所有文件的 压缩包 function DownAllFile() { //zip文件名 var zipNam ...
- Linux--系统调优
建议看看:https://www.cnblogs.com/yinzhengjie/p/9994207.html 一.关闭swap交换分区 Linux swapoff命令用于关闭系统交换区(swap a ...
- OpenFOAM 中边界条件的设定【转载】
转载自:http://blog.sina.com.cn/s/blog_a0b4201d0102v7jt.html 用习惯了FLUENT的操作界面,再使用OpenFOAM就会觉得非常繁琐.遇到的第一个问 ...
- RethinkDB是什么?—— 面向文档的NOSQL数据库,MVCC+Btree索引,pushes JSON to your apps in realtime采用push思路,优化的ssd存储
RethinkDB是什么? RethinkDB是新一代的面向文档的数据库存储管理系统,原本是MySQL中针对SSD优化的一个存储引擎,后来脱离了MySQL成为了独立的系统. 数据如何存储在磁盘上? 数 ...
- エンジニア死滅シタ世界之学べない学校 [MISSION LEVEL: C]-Python3
答案 # coding: utf-8 # 自分の得意な言語で # Let's チャレンジ!! N=input() w_a=0 w_b=0 gpc_dict={ "gg":0,&qu ...
- [转][C#]Oracle 连接错误的解决
错误1: .NET连接oracle,提示错误OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 两个原因: 1. 权限,把 Oracle 所在目录权限设置成 authenticat ...
- SpringBoot之封装json对象返回json数据
/** * @description:封装json对象,所有返回结果都使用它 **/ public class Result<T> { private int code;// 业务自定义状 ...
- 初始化jsp页面下拉选备选项【我】
将下列 script标签放到页面的最下端 <!-- 初始化的全局变量,供js中使用,主要拼接下拉选的初始化值 --> <script type="text/javascri ...