ElasticSearch-学习笔记02【ElasticSearch索引库维护】

这篇具有很好参考价值的文章主要介绍了ElasticSearch-学习笔记02【ElasticSearch索引库维护】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • Java后端-学习路线-笔记汇总表【黑马程序员】
  1. ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】
  2. ElasticSearch-学习笔记02【ElasticSearch索引库维护】
  3. ElasticSearch-学习笔记03【ElasticSearch集群】
  4. ElasticSearch-学习笔记04【Java客户端操作索引库】【day02】
  5. ElasticSearch-学习笔记05【SpringDataElasticSearch】

目录

06-postman工具的安装

01、新建索引

02、postman工具介绍

07-使用postman创建索引

01、创建索引

02、设置映射mappings

08-使用postman设置mapping映射

01、创建索引后设置Mapping

02、删除索引库

09-删除索引库

01、使用postman删除索引库

02、复合查询-PUT

03、复合查询-POST

04、复合查询-DELETE

10-向索引库中添加文档

01、ES与关系型数据库的通俗比较

02、创建文档

03、不指定id添加文档

11-使用head向索引库中添加文档

12-删除文档操作

13-修改文档操作

14-根据id查询文档

01、创建数据

02、根据id查询数据

15-根据关键词进行查询

16-queryString查询

17-使用head插件查询索引库

18-在ES中查看分析器的分词效果

01、中文分词测试

02、英文分词测试

03、IK分词器


06-postman工具的安装

01、新建索引

新建索引

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

分片数:分成5份;副本数:每1片都有一个备份。

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

在对es进行管理的时候一般都使用http方式发送一些json数据来进行控制。

在复合查询处发送json数据,但是直接用网页编写json数据较为麻烦,使用postman工具编写json数据较为方便。

02、postman工具介绍

postman是一个英语单词,名词,作名词时意为“邮递员;邮差”。

Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。 它主要是用来模拟各种HTTP请求的(如:get/post/delete/put..等等),Postman与浏览器的区别在于有的浏览器不能输出Json格式,而Postman更直观接口返回的结果。

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman:发送http请求,接收服务端响应的工具。es支持restful形式的接口。

07-使用postman创建索引

01、创建索引

Postman官网:Postman

增删改查:get、post、put、delete。

  1. 查询数据:GET
  2. 修改数据:POST
  3. 增加数据:PUT
  4. 删除数据:DELETE

发送json数据-http请求-创建索引库。Body:请求数据,选择raw(原生)。

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

02、设置映射mappings

{
    "mappings": {
        "article": {//type名称,相当于表,type可以有多个。
            "properties": {//属性,字段
                "id": {
                    "type": "long",
                    "store": true,
                    "index": "not_analyzed"//默认不索引
                },
                "title": {
                    "type": "text",
                    "store": true,
                    "index": "analyzed",
                    "analyzer": "standard"//标准分词器
                },
                "content": {
                    "type": "text",//文本类型
                    "store": true,//存储
                    "index": "analyzed",//要索引
                    "analyzer": "standard"//标准分词器
                }
            }
        }
    }
}

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

08-使用postman设置mapping映射

01、创建索引后设置Mapping

http://127.0.0.1:9200/blog/hello/_mappings

  1. blog:索引名称
  2. hello:type名称
  3. _mappings:设置mappings
{
    "hello": {//type名称,相当于表,type可以有多个。
        "properties": {//属性,字段
            "id": {
                "type": "long",
                "store": true,
                "index": "not_analyzed"//默认不索引
            },
            "title": {
                "type": "text",
                "store": true,
                "index": "analyzed",
                "analyzer": "standard"//标准分词器
            },
            "content": {
                "type": "text",//文本类型
                "store": true,//存储
                "index": "analyzed",//要索引
                "analyzer": "standard"//标准分词器
            }
        }
    }
}

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

先创建索引库,后设置mappings也是可以的。

02、删除索引库

删除索引库:

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

09-删除索引库

01、使用postman删除索引库

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

02、复合查询-PUT

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

03、复合查询-POST

{
    "hello": {
        "properties": {
            "id": {
                "type": "long",
                "store": true,
                "index": "not_analyzed"
            },
            "title": {
                "type": "text",
                "store": true,
                "index": "analyzed",
                "analyzer": "standard"
            },
            "content": {
                "type": "text",
                "store": true,
                "index": "analyzed",
                "analyzer": "standard"
            }
        }
    }
}

{"hello":{"properties":{"id":{"type":"long","store":true,"index":"not_analyzed"},"title":{"type":"text","store":true,"index":"analyzed","analyzer":"standard"},"content":{"type":"text","store":true,"index":"analyzed","analyzer":"standard"}}}}

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

04、复合查询-DELETE

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

10-向索引库中添加文档

01、ES与关系型数据库的通俗比较

(6)基于 Elasticsearch 的实践——建立一个员工目录_furuiyang_的博客-CSDN博客_人力体系文件如何建目录

es 集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列)。 

ES与关系型数据库的通俗比较
关系型数据库 Relational DB Databases(数据库) Tables(数据表) Rows(行) Columns(字段)
ES Elasticsearch Indices(索引库) Types(表) Documents(记录)    Fields(字段)

02、创建文档

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

请求url:POST localhost:9200/blog/hello/1

  1. blog:index(索引库)
  2. hello:type(表)
  3. 1:文档id
请求体:
{
    "id": 1,
    "title": "新添加的文档",
    "content": "新添加的文档的内容。"
}
请求成功后返回的数据:
{
    "_index": "blog",
    "_type": "hello",
    "_id": "1", //文档真正的id
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1, //成功
        "failed": 0
    },
    "created": true
}

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

03、不指定id添加文档

不指定id的话,es会自动生成id,类似于uuid,保证id唯一不重复。一般情况下,保证id字段和真正的主键一致。

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

11-使用head向索引库中添加文档

{
    "id": 2,
    "title": "共命运促发展",
    "content": "同心筑梦,命运与共。"
}

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

12-删除文档操作

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

13-修改文档操作

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

{
    "id": 1,
    "title": "新添加的文档1",
    "content": "新添加的文档的内容。"
}
{
    "id": 123,
    "title": "修改后的文档1",
    "content": "修改之后的文档内容。"
}

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

14-根据id查询文档

三种查询方式

  1. 根据id查询
  2. 根据关键词查询
  3. 根据字符串查询

01、创建数据

{
    "id": 2,
    "title": "修改后的文档2",
    "content": "修改之后的文档内容2。"
}
{
    "id": 3,
    "title": "修改后的文档3",
    "content": "修改之后的文档内容3。"
}
{
    "id": 4,
    "title": "修改后的文档4",
    "content": "修改之后的文档内容4。"
}
{
    "id": 5,
    "title": "修改后的文档5",
    "content": "修改之后的文档内容5。"
}
{
    "id": 6,
    "title": "修改后的文档6",
    "content": "修改之后的文档内容6。"
}

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

02、根据id查询数据

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

15-根据关键词进行查询

{
    "query": {
        "term": {
            "title": "修"
        }
    }
}

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

16-queryString查询

{//查询文档-queryString查询
    "query": {
        "query_string": {//使用字符串查询
            "default_field": "title",//指定默认搜索域
            "query": "文档内容"//指定查询条件
        }
    }
}

查询成功案例(分词之后再进行查询):

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

查询失败案例:

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

17-使用head插件查询索引库

查询方式(条件之间的逻辑运算):

  1. must:必须满足;
  2. must_not:必须不满足(在查询到结果的基础上进行取反过滤);
  3. should:应该满足;
  4. match_all:查询全部,不指定条件,类似于“select *”;
  5. id、term:关键词、query_string:待分析查询;
  6. range:范围查询;
  7. fuzzy:模糊查询;
  8. widcard:通配符查询。

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

18-在ES中查看分析器的分词效果

01、中文分词测试

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

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

02、英文分词测试

http://127.0.0.1:9200/_analyze?analyzer=standard&text=variously spelled wildcard or wild-card, also known as at-large berth

postman删除es索引,# ElasticSearch,大数据,elasticsearch,postman,json,标准分词器

分词结果:

{

    "tokens": [

        {

            "token": "variously",

            "start_offset": 0,

            "end_offset": 9,

            "type": "<ALPHANUM>",

            "position": 0

        },

        {

            "token": "spelled",

            "start_offset": 10,

            "end_offset": 17,

            "type": "<ALPHANUM>",

            "position": 1

        },

        {

            "token": "wildcard",

            "start_offset": 18,

            "end_offset": 26,

            "type": "<ALPHANUM>",

            "position": 2

        },

        {

            "token": "or",

            "start_offset": 27,

            "end_offset": 29,

            "type": "<ALPHANUM>",

            "position": 3

        },

        {

            "token": "wild",

            "start_offset": 30,

            "end_offset": 34,

            "type": "<ALPHANUM>",

            "position": 4

        },

        {

            "token": "card",

            "start_offset": 35,

            "end_offset": 39,

            "type": "<ALPHANUM>",

            "position": 5

        },

        {

            "token": "also",

            "start_offset": 41,

            "end_offset": 45,

            "type": "<ALPHANUM>",

            "position": 6

        },

        {

            "token": "known",

            "start_offset": 46,

            "end_offset": 51,

            "type": "<ALPHANUM>",

            "position": 7

        },

        {

            "token": "as",

            "start_offset": 52,

            "end_offset": 54,

            "type": "<ALPHANUM>",

            "position": 8

        },

        {

            "token": "at",

            "start_offset": 55,

            "end_offset": 57,

            "type": "<ALPHANUM>",

            "position": 9

        },

        {

            "token": "large",

            "start_offset": 58,

            "end_offset": 63,

            "type": "<ALPHANUM>",

            "position": 10

        },

        {

            "token": "berth",

            "start_offset": 64,

            "end_offset": 69,

            "type": "<ALPHANUM>",

            "position": 11

        }

    ]

}

03、IK分词器

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。文章来源地址https://www.toymoban.com/news/detail-764875.html

到了这里,关于ElasticSearch-学习笔记02【ElasticSearch索引库维护】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch索引操作,索引创建、索引更新、索引删除

    创建索引 更新索引,添加字段 注意更新索引时与创建索引大致一样,只是更新索引时候的url不同,需要在后面加一个 _mapping 路径,同时请求的json里面不需要 mappings 路径,只需要 properties 即可 更新索引,修改配置 同理在更新setting的时候和更新maping的时候一样 获取索引结构

    2024年02月11日
    浏览(43)
  • ElasticSearch删除索引的命令

    ElasticSearch删除索引的命令 当前命令操作是在Kibana中操作 删除单个索引 DELETE 索引名称 删除多个索引 DELETE 索引名称1,索引名称2 删除全部索引 删除索引的中的全部数据 注意 Elasticsearch查询删除的时候,不是立即删除。在执行删除操作时,Elasticsearch会先将要删除的文档标记为

    2024年04月15日
    浏览(49)
  • ElasticSearch定期删除索引

    项目中使用EFK进行日志管理,因磁盘空间有限,故有如下需求: 日志保留60天 超过60天的,能够自动删除 通过查阅资料发现,可以使用 索引生命周期策略 来实现。 索引生命周期策略主要包含如下几种情况: 热阶段(必需):将最近的、搜索最频繁的数据存储在热层中。热

    2024年02月15日
    浏览(42)
  • ElasticSearch删除索引【真实案例】

    项目中使用了ELK技术栈实现了日志管理,但是日志管理功能目前并没有在生产上实际使用。 但ELK程序依然在运行,导致系统磁盘发生告警,剩余可用磁盘不足10%。 所以临时的解决办法是:删除这些没有使用的ES索引数据。 ElasticSearch提供了Web API可以删除索引。详见 删除索引

    2024年02月15日
    浏览(34)
  • ES(elasticsearch)删除指定索引

    需要删除指定的索引 执行命令 比如:DELETE /mysql-status_-2023.06 执行结果: 执行命令 比如:HEAD /mysql-status_-2023.06 执行结果: 说明已经删除完毕 删除命令: DELETE /索引名 查看是否删除成功: HEAD /索引名 查看索引命令: GET /索引名称 批量查看索引命令: GET /索引名称1,索引名称

    2024年02月11日
    浏览(62)
  • ElasticSearch-索引和文档的创建修改删除

    目录 一、创建索引 二、查看索引 三、索引是否存在 四、删除索引 五、创建文档 六、查看文档 七、更新文档 八、文档是否存在 九、删除文档 结果: 语法: GET 索引名称  从这两个索引信息来看,es_db2是标准分词器的索引,es_db3是ik分词器索引。 语法:HEAD 索引名称    在

    2024年01月19日
    浏览(42)
  • Elasticsearch如何创建索引,添加,删除,更新文档

    了解es基本概念:elasticsearch(es)背景故事与基本概念 安装es:Linux安装Elasticsearch详细教程 安装kibana:Linux安装Kibana详细教程 熟悉Json 熟悉REST接口 检查 es 及 Kibana 是否运行正常 创建一个名为 twitter 的索引(index),并插入一个文档(document) 在关系型数据库中,需要使用DDL语

    2023年04月08日
    浏览(64)
  • 【Elasticsearch】 03-索引创建/更新/删除详解及示例

    Elasticsearch 是一个开源的分布式搜索和分析引擎,提供了强大的全文搜索、实时数据分析和数据可视化功能。本文将详细介绍 Elasticsearch 的新增语法,包括索引的创建、数据的插入、更新和删除等操作,并提供丰富的示例代码,帮助您更好地理解和使用 Elasticsearch。 在开始之

    2024年02月04日
    浏览(41)
  • Spring Boot Elasticsearch7.6.2实现创建索引、删除索引、判断索引是否存在、获取/添加/删除/更新索引别名、单条/批量插入、单条/批量更新、删除数据、递归统计ES聚合的数据

    注意:我的版本是elasticsearch7.6.2、spring-boot-starter-data-elasticsearch-2.5.6 引入依赖 有时候你可能需要查询大批量的数据,建议加上下面配置文件

    2024年02月13日
    浏览(70)
  • Elasticsearch介绍及其索引库的创建删除和重新绑定

    Elasticsearch是一个开源的分布式搜索和分析引擎,基于Apache Lucene构建。它提供了一个快速、实时的搜索和分析功能,适用于各种用例,包括全文搜索、日志和指标分析、安全事件检测等。 主要特点包括: 分布式架构 :Elasticsearch采用分布式架构,可以水平扩展以处理大量数据

    2024年04月12日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包