elasticsearch如何根据条件删除数据

2023-03-21 14:03:02 数据 删除 条件

elasticsearch简介

Elasticsearch(简称ES)是一个基于Apache Lucene™的开源索引擎,无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。注意,Lucene 只是一个库。想要发挥其强大的作用,你需使用 Java 并要将其集成到你的应用中。

Lucene 非常复杂,你需要深入的了解检索相关知识来理解它是如何工作的,就跟学习 springMVC 之前先从 servlet 开始,繁琐复杂的工作,Solor、Elasticsearch 应由而生, 其使用 Java 编写并使用 Lucene 来建立索引并实现搜索功能,但是它的目的是通过简单连贯的 RESTful api 让全文搜索变得简单并隐藏 Lucene 的复杂性。

重要特性:

1、分布式的实时文件存储,每个字段都被索引并可被搜索
2、实时分析的分布式搜索引擎
3、可以扩展到上百台服务器,处理PB级结构化或非结构化数据

基本概念:

索引(indices)-------------------Databases 数据库
类型(type)----------------------Table 数据表
文档(Document)---------------Row 行
字段(Field)---------------------Columns 列

详细说明:

概念说明
索引库(indices)indices是index的复数,代表许多的索引,
类型(type)类型是模拟Mysql中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。不过这会导致索引库混乱,因此未来版本中会移除这个概念
文档(document)存入索引库原始的数据。比如每一条商品信息,就是一个文档
字段(field)文档中的属性
映射配置(mappings)字段的数据类型、属性、是否索引、是否存储等特性

elasticsearch如何根据条件删除数据

假设我想删除second是28的这条记录,先查看一下现有的记录:

GET /wyh-apache-log/_search
{
    "query": {
        "match": {
            "second": "28"
        }
    }
}

查询结果:

数据中只有一条符合条件的。

删除second为28的记录:

POST /wyh-apache-log/_delete_by_query             --wyh-apache-log是index,_delete_by_query是elasticsearch的删除指令
{
  "query":{
    "match":{
      "second":"28"
    }
  }
}

删除结果:

删除了一条记录,再查看一下刚才那条记录是否还存在:

删除成功。

到此这篇关于elasticsearch如何根据条件删除数据的文章就介绍到这了,更多相关elasticsearch根据条件删除数据内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章