elasticsearch环境的安装---入门篇一

Elasticsearch(一)

1 Elasticsearch简介

1.1 Elasticsearch介绍

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

1.2倒排索引

倒排索引:

将数据加入到索引库(你可以理解成另外一个数据库)时,会先提取数据中的词汇(分词),将词汇加入到文档域,文档域中记录了词汇以及词汇在哪条数据记录中出现过的数据下标。用户在搜索数据时,先将用户搜索的数据进行词汇提取,然后把对应词汇拿到索引域中进行匹配查找,查找后会找到对应的下标ID,再根据对应下标ID到文档域中找真实数据。
在这里插入图片描述

1.2.1 基本倒排索引

  • 第1列单词ID即为每个单词的编号。
  • 第2列即为对应的单词。
  • 第3列即为每个单词对应的倒排列表。(比如单词“拉斯”,单词编号为8,倒排序表为{3,5},说明文档集合中文档3和文档5包含这个单词。)

在这里插入图片描述

1.2.2 复杂倒排索引

就编号8—拉斯—2—{(3;1;<4>),(5;1;<4>)}来说,文档频率2表示在两个文档出现。“<4>”表示单词出现的位置是文档中的第4个单词。 这个倒排索引基本上是一个完备的索引系统了,实际搜索系统的索引结构基本如此。
在这里插入图片描述

1.2.3 完整倒排索引

就编号8—拉斯—2—{(3;1;<4>),(5;1;<4>)}来说,文档频率2表示在两个文档出现。“<4>”表示单词出现的位置是文档中的第4个单词。 这个倒排索引基本上是一个完备的索引系统了,实际搜索系统的索引结构基本如此。

在这里插入图片描述

2、Elasticsearch安装

2.1 下载安装包

ElasticSearch的官方地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

可在网盘下载
es网盘资料下载
提取码:09oy

在这里插入图片描述

2.2 安装es服务

环境要求:jdk版本1.8以上,所以安装ElasticSearch之前保证JDK1.8+安装完毕,并正确的配置好JDK环境变量,否则启动ElasticSearch失败。

2.2.1 解压

ElasticSearch的安装很简单,解压开即安装完毕(注意:ES的目录不要出现中文,也不要有特殊字符),ElasticSearch的目录结构如下:

在这里插入图片描述

2.2.2 启动服务

  • 第一步:进入bin目录下,执行elasticsearch.bat文件在这里插入图片描述

  • 第二步:闪退(可以将elasticsearch.bat文件在cmd命令窗口下执行,目的:查看错误信息。。。)【错误信息:VM初始化期间发生错误,无法为2097152KB(2G)对象堆保留足够的空间】

在这里插入图片描述

  • 第三步:修改es配置文件jvm.options(Xms:初始化堆内存大小 Xmx:最大堆内存大小)

在这里插入图片描述

  • 第四步:重新执行elasticsearch.bat文件,启动成功

    • 9300端口:ES集群节点之间通讯使用(Tcp协议 )
    • 9200端口:ES节点和外部通讯使用 (Http协议)
      在这里插入图片描述
  • 第五步:通过浏览器访问:http://localhost:9200/

在这里插入图片描述

2.3 安装es图形化管理界面-head

ElasticSearch不同于Solr自带图形化管理界面,我们可以通过安装ElasticSearch的head插件,完成图形化界面的效果,完成索引数据的查看。安装插件的方式有两种,在线安装和本地安装。现采用在线的安装。elasticsearch-5-*以上版本安装head插件需要安装node和grunt环境。

2.3.1 安装nodejs环境

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

  • 执行资料中的node-v8.9.4-x64.msi文件,然后傻瓜式安装(一直下一步,直到完成。)

在这里插入图片描述

  • 安装成功,可通过cmd窗口查看版本:node -v

在这里插入图片描述

2.3.2 安装grunt客户端

Grunt是基于Node.js的项目构建工具;是基于javaScript上的一个很强大的前端自动化工具,基于NodeJs用于自动化构建、测试、生成文档的项目管理工具。

  • 方案:可以通过镜像加速器去下载

    • 先安装:安装taobao镜像:npm install -g cnpm –registry=https://registry.npm.taobao.org

    • 进入命令行,执行命令:

在这里插入图片描述

在这里插入图片描述

  • 再执行:cnpm install -g grunt-cli 【注意:npm命令前多了一个字符c】

在这里插入图片描述

2.3.3 安装head插件

安装步骤

  • 第一步:下载head插件:https://github.com/mobz/elasticsearch-head ,在资料中已经提供了elasticsearch-head-master插件压缩包
    在这里插入图片描述

  • 第二步:软件解压:可以解压到任意目录,我这里是解压到es的目录下(注意不要放到plugins目录)

在这里插入图片描述

  • 第三步:进入到elasticsearch-head-master目录下,通过cmd窗口执行如下命令:cnpm install grunt

在这里插入图片描述

  • 第四步:启动grunt,执行命令:grunt server,提示是否安装这些模块

在这里插入图片描述

  • 第五步:按照要求,继续安装npm的其他模块,执行命令:

    cnpm install grunt-contrib-clean grunt-contrib-concat grunt-contrib-watch grunt-contrib-connect grunt-contrib-copy grunt-contrib-jasmine
    

    在这里插入图片描述

  • 第六步:再次启动grunt服务。执行命令:grunt server

    在这里插入图片描述

  • 第七步:通过浏览器访问。http://localhost:9100/

在这里插入图片描述

  • 第八步:解决跨域访问的问题

在这里插入图片描述

  • 修改es配置:修改config/elasticsearch.yml文件,添加如下配置

    # 允许elasticsearch跨域访问,默认是false
    http.cors.enabled: true
    # 表示跨域访问允许的域名地址(*表示任意)
    http.cors.allow-origin: "*"
    # 当前主机域名	
    network.host: 127.0.0.1
    

在这里插入图片描述

  • 重新es服务:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

至此,我们的es的服务安装成功

3、Elasticsearch相关术语介绍

3.1 概述

Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储(store),还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。Elasticsearch比较传统关系型数据库如下:

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices   -> Types  -> Documents -> Fields

3.2 相关术语

3.2.1 索引 index

一个索引就是一个拥有几分相似特征的文档的集合。

3.2.2 类型 type

在一个索引中,你可以定义一种或多种类型。

3.2.3 文档 document

一个文档是一个可被索引的基础信息单元。

在一个index/type里面,你可以存储任意多的文档。注意,尽管一个文档,物理上存在于一个索引之中,文档必须被索引/赋予一个索引的type。

索引、类型、文档:

在这里插入图片描述

在这里插入图片描述

3.2.4 字段 field

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

3.2.5 映射 mapping

mapping是类似于数据库中的表结构定义,主要作用如下:

  • 定义index下的字段名
  • 定义字段类型,比如数值型、浮点型、布尔型等
  • 定义倒排索引相关的设置,比如是否索引、记录position等

在这里插入图片描述

3.2.6 接近实时 NRT

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

在这里插入图片描述

3.2.7 集群 cluster

一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。

在这里插入图片描述

3.2.8 节点 node

一个节点是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的索引和搜索功能。
一个节点可以通过配置集群名称的方式来加入一个指定的集群。
在一个集群里,只要你想,可以拥有任意多个节点。而且,如果当前你的网络中没有运行任何Elasticsearch节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的集群。

3.2.9 分片&副本 shard&replicas

分片很重要,主要有两方面的原因: 1)允许你水平分割/扩展你的内容容量。 2)允许你在分片(潜在地,位于多个节点上)之上进行分布式的、并行的操作,进而提高性能/吞吐量。
Elasticsearch允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片,或者直接叫复制。

复制之所以重要,有两个主要原因: 在分片/节点失败的情况下,提供了高可用性。

默认情况下,Elasticsearch中的每个索引被分片5个主分片和1个复制,这意味着,如果你的集群中至少有两个节点,你的索引将会有5个主分片和另外5个复制分片(1个完全拷贝),这样的话每个索引总共就有10个分片。

在这里插入图片描述

在这里插入图片描述

4、通过java客户端操作Elasticsearch

4.1 环境准备

  • 启动es服务(存储数据):

  • 启动grunt服务(可视化工具):

  • 创建maven工程

在这里插入图片描述

并且添加相关依赖,如下

<dependencies>
        <!--es需要依赖-->
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>5.6.8</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>transport</artifactId>
            <version>5.6.8</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.26</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.21</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
            <version>2.11.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

4.2 创建索引

4.2.1 代码实现

在工程的test目录下创建ElasticsearchDemo,并且添加CreateIndex方法。

4.2.1.1 通过Map构建文档

为方便测试:在测试类中添加before和after方法,分别在测试方法前执行,创建客户端连接对象,测试方法执行后执行,关闭资源

 Client client = null;
    @Before
    public void before(){
        // 1.创建客户端并简历连接 Settings.EMPTY:单机环境
        client = new PreBuiltTransportClient(Settings.EMPTY)
                .addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress("localhost",9300)));

    }
    
    @After
    public void after(){
        client.close();
    }
  @Test
    public void testCreateIndexByMap(){
        // 2.通过map构建文档对象
        HashMap<String, Object> map = new HashMap<>();
        map.put("id",1);
        map.put("title","如何学好Elasticsearch");
        map.put("content", "多看书,多写代码");
        // 3.创建索引
        client.prepareIndex("blog","article","1").setSource(map).get();
    }

在这里插入图片描述

4.2.1.1 通过XContentBuilder构建文档
@Test
    public void testCreateIndexByXContentBuilder() throws IOException {
        //通过XContentBuilder创建文档对象
        XContentBuilder xContentBuilder = XContentFactory.jsonBuilder();
        xContentBuilder
                .startObject()
                    .field("id",1)
                    .field("title","java学习路线")
                    .field("content","需要学习计算机组成原理、计算机网络、数据结构、操作系统等")
                .endObject();
        // 创建索引
        client.prepareIndex("blog","article","2").setSource(xContentBuilder).get();
    }

在这里插入图片描述

4.2.2 查看索引

通过可视化界面查看索引基本情况。

在这里插入图片描述

在这里插入图片描述

4.3 基于索引库检索

4.3.1 根据id查询

在测试类中添加方法:

//根据id查询
    @Test
    public void testQueryId(){
        //根据id查询
        GetResponse response = client.prepareGet("blog", "article", "1").get();
        String source = response.getSourceAsString();//将对象转成json
        System.out.println("获取到的结果:"+source);
    }

在这里插入图片描述

4.3.2 查询所有

在测试类中添加方法:

 //查询所有
    @Test
    public void testQueryAll2(){
        SearchResponse response = client.prepareSearch("blog").get();
        SearchHits hits = response.getHits();
        System.out.println("查询的总数为:"+hits.getTotalHits());
        for (SearchHit hit : hits) {
            String source = hit.getSourceAsString();
            System.out.println("获取的结果:"+source);
        }
    }

//查询所有
    @Test
    public void testQueryAll(){
        SearchResponse response = client.prepareSearch("blog").get();
        SearchHits hits = response.getHits();
        System.out.println("查询的总数为:"+hits.getTotalHits());
        Iterator<SearchHit> hit = hits.iterator();
        while (hit.hasNext()){
            SearchHit searchHit = hit.next();
            String source = searchHit.getSourceAsString();
            System.out.println(source);
        }
    }

在这里插入图片描述

4.3.3 根据条件查询

在测试类中添加方法:

 // 根据字符查询    @Test    public void testQueryStringQuery(){        SearchResponse searchResponse = client.prepareSearch("blog")                .setTypes("article")                .setQuery(QueryBuilders.queryStringQuery("操作系统").field("content"))                .get();        SearchHits hits = searchResponse.getHits();        for (SearchHit hit : hits) {            System.out.println(hit.getSourceAsString());        }    }

在这里插入图片描述

4.3.4 根据词条检索

词条:也就是关键字。

在测试类中添加方法:

// 根据词条查询    @Test    public void testQueryTermQuery(){        SearchResponse searchResponse = client.prepareSearch("blog")                .setTypes("article")                .setQuery(QueryBuilders.termQuery("content", "操作系统"))                .get();        // 处理结果        SearchHits hits = searchResponse.getHits();        System.out.println(hits.getTotalHits());//0 因为索引库中没有因为索引库中没有这个词条(默认,StandardAnalyzer)        for (SearchHit hit : hits) {            System.out.println(hit.getSourceAsString());        }    }

在这里插入图片描述

0条:因为索引库中没有这个词条(默认,StandardAnalyzer)

4.3.5 模糊查询

*:匹配0个或者多个

 @Test    public void testQueryWildCard(){        SearchResponse searchResponse = client.prepareSearch("blog")                .setTypes("article")                .setQuery(QueryBuilders.wildcardQuery("content", "*系")).get();        SearchHits hits = searchResponse.getHits();        System.out.println(hits.getTotalHits());//1 因为*代表匹配0个或者多个,这里是0个即(系),所以能够有结果        for (SearchHit hit : hits) {            System.out.println(hit.getSourceAsString());        }    }

在这里插入图片描述

?:匹配一个

 //模糊查询 匹配1个    @Test    public void testQueryWildCard2(){        SearchResponse searchResponse = client.prepareSearch("blog")                .setTypes("article")                .setQuery(QueryBuilders.wildcardQuery("content", "?统"))//因为标准分词器分为一个中文,没有两个,所以匹配不上                .get();        SearchHits hits = searchResponse.getHits();        System.out.println(hits.getTotalHits());        for (SearchHit hit : hits) {            System.out.println(hit.getSourceAsString());        }    }

在这里插入图片描述

5、Elasticsearch集成IK分词器

es默认的分词效果:将中文的句子或者文章切成了一个个的汉字    StandardAnalyzer:标准分词器需要:配置第三方的中文分词器。IK分词器。

根据词条等检索的过程中并没有检索到数据,原因是在索引库中并没有这些词条(关键字)。ES是基于Lucene,而Lucene默认将中文的一句话切分成一个个字,因此无法检索到数据。所以,在ES中我们需要集成第三方的中文分词IK。

5.1 实现步骤

5.1.1 将ik解压到es中

  • 第一步:将elasticsearch-analysis-ik-5.6.8解压到elasticsearch-5.6.8\plugins目录下,并重命名文件夹为ik

在这里插入图片描述

  • 第二步:重启es服务

5.1.2 访问测试

  • 默认分词器,访问地址:http://127.0.0.1:9200/_analyze?analyzer=standard&pretty=true&text=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86

在这里插入图片描述

  • ik分词器,最小切分,访问地址:http://127.0.0.1:9200/_analyze?analyzer=ik_smart&pretty=true&text=计算机组成原理

在这里插入图片描述

  • ik分词器,最细切分,访问地址:http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&pretty=true&text=计算机组成原理

在这里插入图片描述

5.2 配置停用词以及扩展词

扩展词:将网络用语加入到词典中

停用词:这个字或词语没有任何意义 例如:单身狗—>单身 和 狗 瑜伽 服

5.2.1 需求

在地址栏输入如下地址:http://127.0.0.1:9200/_analyze?analyzer=ik_max_word&pretty=true&text=单身狗,理想成为高富帅,迎娶白富美 效果如下:但是我们知道现在‘单身狗’、‘高富帅’、‘白富美’都是一个词(网络词语),但是ik分器并不能识别。

在这里插入图片描述

5.2.2 配置步骤

  • 第一步:修改ik核心配置文件,在配置文件中添加ext.dic和stopword.dic。让ik加载配置文件。

在这里插入图片描述

  • 第二步:添加停用词,编辑ik/config/stopword.dic文件

在这里插入图片描述

  • 第三步:添加扩展词,在ik/config/目录下添加ext.dic文件,然后添加扩展词语

在这里插入图片描述

  • 第四步:重启es并再次测试

在这里插入图片描述

6、使用RESTful操作Elasticsearch

  • ES对外提供的web接口:RESTful风格
  • RESTful风格:它不是框架也不是设计模式,它是请求的url的风格
    • 每一个url代表的都是一个资源
    • url的结构有层级、清晰 qq.kq.com/image/2020/6/16/x.jpg
  • 为什么最近这些年比较流行:与项目的架构有关
    • 服务越来越多(对外提供接口越来越多)
    • 客户端调用接口:地址多,管理越麻烦
  • 例子:
传统url:									       保存:http://localhost:8080/user/saveUser.do更新:http://localhost:8080/user/updateUser.do查询所有:http://localhost:8080/user/findAll.doid查询:http://localhost:8080/user/findById.do?id=x删除:http://localhost:8080/user/delById.do?id=xRESTful风格:保存:http://localhost:8080/user   ---POST更新:http://localhost:8080/user/1 ---PUT查询所有:http://localhost:8080/user ---GETid查询:http://localhost:8080/user/1  GET删除:http://localhost:8080/user/1    DELTE

6.1 RESTful介绍

RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次。RESTful是目前最流行的 API 设计规范,用于 Web 数据接口的设计。

  • 传统请求:

    URL                                       服务器上资源http://localhsot:8080/save                访问的资源save();http://localhsot:8080/update              访问的资源update();http://localhsot:8080/delete              访问的资源delete();http://localhsot:8080/find                访问的资源find();
    
  • RESTful:

    HTTP的请求状态               URI                                  服务器上资源Http的协议POST              http://localhsot:8080/list          访问的资源save();Http的协议PUT               http://localhsot:8080/list          访问的资源update();Http的协议DELETE            http://localhsot:8080/list          访问的资源delete();Http的协议GET               http://localhsot:8080/list          访问的资源find();
    

6.2 postman工具安装

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

下载Postman工具,Postman官网:https://www.getpostman.com,资料中已经提供了安装包。双击安装完成后需要自行注册一个账号,

在这里插入图片描述

6.3 postman操作

6.3.1 Elasticsearch接口语法

  • 语法:
#语法
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'

#栗子
curl -XPUT http://localhost:9200/blog/article/1 -d '{"title": "New version of
Elasticsearch released!", content": "Version 1.0 released today!", "tags": ["announce",
"elasticsearch", "release"] }'
  • 参数说明:
参数解释
VERB适当的 HTTP 方法谓词 : GET、 POST、 PUT、 HEAD 或者 DELETE。
PROTOCOLhttp 或者 https(如果你在 Elasticsearch 前面有一个 https 代理)
HOSTElasticsearch 集群中任意节点的主机名,或者用 localhost 代表本地机器上的节点。
PORT运行 Elasticsearch HTTP 服务的端口号,默认是 9200 。
PATHAPI 的终端路径(例如 _count 将返回集群中文档数量)。Path 可能包含多个组件,例如:_cluster/stats 和 _nodes/stats/jvm 。 | | QUERY_STRING | 任意可选的查询字符串参数 (例如 ?pretty 将格式化地输出 JSON 返回值,使其更容易阅读) | | BODY | 一个 JSON 格式的请求体 (如果请求需要的话) |

6.3.2 创建索引

  • 请求url:
PUT     http://localhost:9200/blog2
  • 请求体:
{
    "mappings": {
		"article": {
			"properties": {
				"id": {
					"type": "long",
					"store": false,
					"index":"not_analyzed"
				},
				"title": {
					"type": "text",
					"store": false,
					"index":"analyzed",
					"analyzer":"ik_smart"
				},
				"content": {
					"type": "text",
					"store": false,
					"index":"analyzed",
					"analyzer":"ik_smart"
				}
			}
		}
	}
}
  • “analyzer”:“standard”:表示单字分词(默认值)

  • “analyzer”:“ik_smart”:使用ik分词器(ik的最小切分)

  • “store”: true:表示是否存储,只有存储到索引库,才能检索到结果(Elasticsearch的默认值flase)

  • postman操作

在这里插入图片描述

界面

在这里插入图片描述

6.3.3 删除索引

  • 请求url
DELETE      http://localhost:9200/blog2
  • postman操作

在这里插入图片描述

界面

在这里插入图片描述

6.3.4 创建文档

  • 请求url(需要重新创建映射blog2)
POST    http://localhost:9200/blog2/article/1
  • 请求体
{
    "id":1,
    "title":"ElasticSearch是一个基于Lucene的搜索服务器",
    "content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够时搜索。"
}
  • postman操作

在这里插入图片描述

界面

在这里插入图片描述

6.3.5 修改文档

  • 请求url(如果article=1的存在,执行更新操作;否则执行插入操作)
POST	http://localhost:9200/blog2/article/1
  • 请求体
{
    "id":1,
    "title":"ElasticSearch是一个基于Lucene的搜索服务器---更新",
    "content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够时搜索 ---更新。"
}
  • postman操作

在这里插入图片描述

界面

在这里插入图片描述

6.3.6 查询文档

6.3.6.1 根据id查询
  • 请求url
GET      http://localhost:9200/blog2/article/1
  • postman操作

在这里插入图片描述

6.3.6.2 根据querystring查询
  • 请求url
POST       http://localhost:9200/blog2/article/_search
  • 请求体
{
	"query": {
		"query_string": {
			"default_field": "title",
			"query": "搜索服务器"
		}
	}
}
  • postman操作

在这里插入图片描述

6.3.6.3 根据term查询
  • 请求url
POST     http://localhost:9200/blog2/article/_search
  • 请求体
{
	"query": {
		"term": {
			"title": "搜索"
		}
	}
}
  • postman操作

在这里插入图片描述

6.3.7 删除文档

  • 请求url
DELETE    http://localhost:9200/blog2/article/1
  • postman操作

在这里插入图片描述

界面

在这里插入图片描述

elasticSearch入门篇二,java客户端对es维护,Spring Data集成es,搭建ES集群

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值