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

安装前需要配置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'

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

 

Copy

{ "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表示必须需要显式指定索引库名称

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值