ElasticSearch学习1

目录

第一章 ElasticSearch简介

1.1 什么是ElasticSearch

1.2 ElasticSearch的使用案例

1.3 ElasticSearch对比Solr

第二章 ElasticSearch安装与启动

2.1 ElasticSearch服务

2.2 启动ES服务

2.3 安装ES的图形化界面插件

第三章 ElasticSearch相关概念(术语)

3.1 概述

3.2 Elasticsearch核心概念

3.2.1 索引 index

3.2.2 类型 type

3.2.3 字段Field

3.2.4 映射 mapping

3.2.5 文档 document

​3.2.6 接近实时 NRT

3.2.7 集群 cluster

3.2.8 节点 node

3.2.9 分片和复制 shards&replicas 

第四章 ElasticSearch的客户端操作

4.1 安装Postman工具

4.2 使用Postman工具进行Restful接口访问

4.2.1 ElasticSearch的接口语法

​4.2.2 创建索引index和映射mapping

4.2.3 创建索引后设置Mapping 

4.2.4 删除索引index

4.2.5 创建文档document

​4.2.6 修改文档document

4.2.7 删除文档document 

4.2.8 查询文档-根据id查询 

4.2.9 查询文档-querystring查询 

4.2.10 查询文档-term查询 

第五章 IK 分词器和ElasticSearch集成使用

5.1 上述查询存在问题分析

5.2 IK分词器简介

5.3 ElasticSearch集成IK分词器

5.3.1 IK分词器的安装

5.3.2 IK分词器测试

5.4 修改索引映射mapping

5.4.1 重建索引

5.4.2 再次测试queryString查询

5.4.3 再次测试term测试 

第六章 ElasticSearch集群

6.1 集群的相关概念

6.1.1 集群 cluster

6.1.2 节点 node

6.1.3 分片和复制 shards&replicas

6.2 集群的搭建

6.2.1 准备三台elasticsearch服务器

6.2.2 修改每台服务器配置

6.2.3 启动各个节点服务器

6.2.4 集群测试


第一章 ElasticSearch简介

1.1 什么是ElasticSearch

1.2 ElasticSearch的使用案例

1.3 ElasticSearch对比Solr

第二章 ElasticSearch安装与启动

2.1 ElasticSearch服务

ElasticSearch的官方地址:

Elasticsearch: The Official Distributed Search & Analytics Engine | Elastic

Window版的ElasticSearch的安装很简单,类似Window版的Tomcat,解压开即安装完毕,解压后的ElasticSearch 的目录结构如下:

修改elasticsearch配置文件:config/elasticsearch.yml,增加以下两句命令:

http.cors.enabled: true 
http.cors.allow‐origin: "*"

此步为允许elasticsearch跨越访问,如果不安装后面的elasticsearch-head是可以不修改,直接启动。

2.2 启动ES服务

 

2.3 安装ES的图形化界面插件

 安装插件的方式有两种,在线安装和本地安装。本文档采用本地安装方式进行head插件的安装。elasticsearch-5-*以上版本安装head需要安装node和grunt

下载head插件:https://github.com/mobz/elasticsearch-head

下载nodejs:https://nodejs.org/en/download/

安装完毕,可以通过cmd控制台输入:node -v 查看版本号

将grunt安装为全局命令 ,Grunt是基于Node.js的项目构建工具

cmd控制台中输入如下执行命令: npm install ‐g grunt‐cli

进入elasticsearch-head-master目录启动head,在命令提示符下输入命令:
 

>npm install

>grunt server

打开浏览器,输入 http://localhost:9100

第三章 ElasticSearch相关概念(术语)

3.1 概述

3.2 Elasticsearch核心概念

3.2.1 索引 index

3.2.2 类型 type

3.2.3 字段Field

相当于是数据表的字段,对文档数据根据不同属性进行的分类标识。

3.2.4 映射 mapping

3.2.5 文档 document

3.2.6 接近实时 NRT

Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒以内)。

3.2.7 集群 cluster

3.2.8 节点 node

3.2.9 分片和复制 shards&replicas 

 

第四章 ElasticSearch的客户端操作

实际开发中,主要有三种方式可以作为elasticsearch服务的客户端:

第一种,elasticsearch-head插件

第二种,使用elasticsearch提供的Restful接口直接访问

第三种,使用elasticsearch提供的API进行访问

4.1 安装Postman工具

Postman中文版是postman这款强大网页调试工具的windows客户端,提供功能强大的Web API & HTTP 请求调试。软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman中文版能够发送任何类型的 HTTP 请求 (GET, HEAD, POST, PUT..),且可以附带任何数量的参数。

Postman官网:https://www.getpostman.com

4.2 使用Postman工具进行Restful接口访问

4.2.1 ElasticSearch的接口语法

curl ‐X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' ‐d '<BODY>'

4.2.2 创建索引index和映射mapping

请求url:
PUT    localhost:9200/blog1

 

 

4.2.3 创建索引后设置Mapping 

 

4.2.4 删除索引index

DELETE localhost:9200/blog1

4.2.5 创建文档document

4.2.6 修改文档document

POST    localhost:9200/blog1/article/1

4.2.7 删除文档document 

DELETE localhost:9200/blog1/article/1

4.2.8 查询文档-根据id查询 

GET localhost:9200/blog1/article/1

4.2.9 查询文档-querystring查询 

 

 

4.2.10 查询文档-term查询 

POST    localhost:9200/blog1/article/_search

第五章 IK 分词器和ElasticSearch集成使用

5.1 上述查询存在问题分析

在进行字符串查询时,我们发现去搜索"搜索服务器"和"钢索"都可以搜索到数据;

而在进行词条查询时,我们搜索"搜索"却没有搜索到数据;

究其原因是ElasticSearch的标准分词器导致的,当我们创建索引时,字段使用的是标准分词器:

 

例如对 "我是程序员" 进行分词

标准分词器分词效果测试:

http://127.0.0.1:9200/_analyze?analyzer=standard&pretty=true&text=我是程序员

我,是,程,序,员 

5.2 IK分词器简介

 

5.3 ElasticSearch集成IK分词器

5.3.1 IK分词器的安装

1)下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

2)解压,将解压后的elasticsearch文件夹拷贝到elasticsearch-5.6.8\plugins下,并重命名文件夹为analysis-ik

3)重新启动ElasticSearch,即可加载IK分词器

5.3.2 IK分词器测试

1)最小切分:在浏览器地址栏输入地址

http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员

我,是,程序员 

2)最细切分:在浏览器地址栏输入地址

http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是程序员

我,是,程序,程序员,员

5.4 修改索引映射mapping

5.4.1 重建索引

删除原有blog1索引

DELETE localhost:9200/blog1

创建blog1索引,此时分词器使用ik_max_word

PUT    localhost:9200/blog1

 

 

5.4.2 再次测试queryString查询

5.4.3 再次测试term测试 

第六章 ElasticSearch集群

6.1 集群的相关概念

6.1.1 集群 cluster

6.1.2 节点 node

6.1.3 分片和复制 shards&replicas

6.2 集群的搭建

6.2.1 准备三台elasticsearch服务器

创建elasticsearch-cluster文件夹,在内部复制三个elasticsearch服务

6.2.2 修改每台服务器配置

修改elasticsearch-cluster\node*\config\elasticsearch.yml配置文件

node1节点:

 

6.2.3 启动各个节点服务器

双击elasticsearch-cluster\node*\bin\elasticsearch.bat

 

6.2.4 集群测试

添加索引和映射

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值