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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1

ural 1026. Questions and Answers 查询

1026. Questions and Answers Time limit: 2.0 second Memory limit: 64 MB Background The database of the Pentagon contains a top-secret information. We don’t know what the information is — you

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

Mybatis中的like查询

<if test="templateName != null and templateName != ''">AND template_name LIKE CONCAT('%',#{templateName,jdbcType=VARCHAR},'%')</if>