kibana的常用DSL语句查询(一)

2024-04-02 00:20
文章标签 查询 kibana 常用 语句 dsl

本文主要是介绍kibana的常用DSL语句查询(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

声明:如下所有的索引数据基于上一篇已经创建好的person_news索引,具体mapping及插入的数据见上一篇

1、查询索引的所有数据,适用于数据量不大的情况

GET /your_index_name/_search
{"query": {"match_all": {}}
}

2、match查询,match会对输入的关键词进行分词

GET /person_news/_search
{"query": {"match": {"newsContent": "恒大"}}
}

3、multi_match查询是Elasticsearch中常用的一种查询类型,用于在多个字段上执行相同的查询。它可以在多个字段上执行全文搜索、短语搜索、前缀搜索等操作
他的常用语法如下:

{"query": {"multi_match": {"query": "your_search_query","fields": ["field1", "field2", "field3"],"type": "best_fields","operator": "or"}}
}

query: 要在字段上搜索的查询字符串。
fields: 要搜索的字段列表。
type (可选): 指定匹配类型。常见的类型包括:
best_fields: 返回匹配任意字段的文档,默认类型。
most_fields: 返回匹配最多字段的文档。
cross_fields: 将查询视为一个整体,并搜索所有字段。
phrase: 在字段中查找完整的短语匹配。
phrase_prefix: 在字段中查找短语的前缀匹配。
operator (可选): 定义多个查询词之间的逻辑操作。默认为or。如果设置为and,则所有查询词都必须匹配。
比如:

{"query": {"multi_match": {"query": "quick brown fox","fields": ["title", "description"],"type": "cross_fields","operator": "and"}}
}

这个示例将在title和description字段上搜索包含短语"quick brown fox"的文档,并且所有的查询词都必须匹配(由operator参数指定)
再比如:在"companyName",“newsContent”,"newsTitle"三个字段里面搜索恒大关键词,匹配则返回

GET /person_news/_search
{"query": {"multi_match": {"query": "恒大","fields": ["companyName","newsContent","newsTitle"]}}
}

4、term查询,term不会对输入的关键词进行分词,es建议不要用term查询text的字段,最好查询keyword类型的字段

GET /person_news/_search
{"query": {"term": {"newsSource": {"value": "路透社"}}}
}

5、terms查询,查询用于匹配字段中的多个值。它允许您指定一个或多个可能的值,并返回匹配其中任何一个值的文档
term查询用于精确匹配单个值。terms查询用于匹配多个可能的值

GET /person_news/_search
{"query": {"terms": {"newsSource": ["新华社","美联社"]}}
}

6、bool类型查询
must等同于and
must_not 等同于 not
should 等同于 or
比如:
查询新闻来源是路透社或者是新华社同时标签里面含有许家印的新闻

GET /person_news/_search
{"query": {"bool": {"must": [{"bool": {"should": [{"match": {"newsSource": "路透社"}},{"match": {"newsSource" : "新华社"}}]}},{"term": {"labels": {"value": "许家印"}}}]}}
}

7、范围查询

GET /person_news/_search
{"query": {"range": {"hotPoint": {"gte": 1,"lte": 2}}}
}

8、根据某个字段排序,并且分页查询

GET /person_news/_search
{"query": {"match_all": {}},"sort": [{"hotPoint": {"order": "desc"}}],"from": 0,"size": 2
}

9、Wildcard通配符查询,Wildcard查询是Elasticsearch中的一种模式匹配搜索技术,允许您在文档字段中查找与通配符模式匹配的内容。通配符可以是*(匹配零个或多个字符)或?(匹配一个字符)

GET /person_news/_search
{"query": {"wildcard": {"newsSource": {"value": "新*"}}}
}

10、nested嵌套查询
如下,查询personInfo.personName=张勇 并且personInfo.age=54的数据

GET /person_news/_search
{"query": {"bool": {"must": [{"nested": {"path": "personInfo","query": {"bool": {"must": [{"term": {"personInfo.personName": {"value": "张勇"}}},{"term": {"personInfo.age": {"value": 54}}}]}}}}]}}
}

这篇关于kibana的常用DSL语句查询(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/868510

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re