ELK学习总结(3-1)elk的基本查询
基本查询:内置条件
组合查询:组合基本查询
过滤:查询同时,通过filter筛选数据
准备工作
GET /library/books/_mget
{
"ids":["1","2","3","4","5","6"]
}
GET /library/_mapping
0、简单的查询
请求信息
GET /library/books/_search?q=title:elasticsearch
GET /library/_search?q=title:mongodb
GET /_search?q=title:blacksmith
1、term、terms查询:查询包含关键词
功能描述:term查询,查询某个字段例有某个关键词的文档
请求消息:
GET /library/books/_search
{
"query":{
"term":{
"preview":"elasticsearch"
}
}
}
功能描述:terms查询,查询某个字段例有多个关键词的文档,minimum_match(1,至少有一个关键词存在)
请求消息:
GET /library/books/_search
{
"query":{
"terms":{
"preview":["elasticsearch","book"],
"minimun_match":1
}
}
}
2、from、size: 控制查询返回的数量
请求信息
GET /library/books/_search?q=title:elasticsearch
GET /library/books/_search
{
"from":1,
"size":2,
"query":{
"term":{
"title":"elasticsearch"
}
}
}
3、返回版本号_version
请求信息
GET /library/books/_search
{
"version":true,
"query":{
"term":{
"preview":"elasticsearch"
}
}
}
4、match查询: 和term查询区别,会使用分析器
请求信息
GET /library/books/_search
{
"from":1,
"size":2,
"query":{
"term":{
"title":"elasticsearch"
}
}
}
3、返回版本号_version
请求信息
GET /library/books/_search
{
"version":true,
"query":{
"match":{
"preview":"elasticsearch"
}
}
}
GET /library/books/_search
{
"version":true,
"query":{
"match":{
"price":11
}
}
}
match_all 查询指定索引下的所有文档?
GET /library/books/_search
{
"query":{
"match_all":{}
}
}
match_phrase: 短语查询,slop定义关键词之间间隔多少位置单词
GET /library/books/_search
{
"query":{
"match_phrase":{
"preview":{
"query":"elasticsearch,distributed",
"slop":2
}
}
}
}
multi_match:可以查询指定多个字段都包含某个关键字的文档
GET /library/books/_search
{
"query":{
"multi_match":{
"query":"elasticsearch",
"fields":["title","preview"]
}
}
}
指定返回的字段
只能返回store为yes的字段
GET /library/books/search
{
"fields":["title","preview"],
"query":{
"match":{
"preview":"elasticsearch"
}
}
}
控制加载的字段:
GET /library/books/search
{
"partial_fields":{
"partial":{
"include":["preview"],
"exclude":["title","price"]
}
},
"query":{
"match":{
"preview":"elasticsearch"
}
}
}
5、排序查询: sort、asc/desc
请求信息
GET /library/books/_search
{
"query":{
"match_all":{}
},
"sort":[
{
"price":{
"order":"desc"
}
}
]
}
响应信息
6、prefix前缀匹配查询
请求信息
GET /library/books/_search
{
"query":{
"prefix":{
"title":{
"value":"ret"
}
}
}
}
响应信息
7、range范围查询(range,from,to,include_lower,include_upper,boost)
include_lower:包含范围左边界,默认是true
include_upper:包含范围右边界,默认是true
请求信息
GET /library/books/_search
{
"query":{
"range":{
"publish_date":{
"from":"2015-01-01",
"to":"2015-07-01"
}
}
}
}
GET /library/books/_search
{
"query":{
"range":{
"price":{
"from":"10.00",
"to":"20.00",
"include_lower":true,
"include_upper":true
}
}
}
}
响应信息
8、wildcard查询--很影响性能
* 代表1-n个字符
? 代表一个字符
请求信息
GET /library/books/_search
{
"query":{
"wildcard":{
"preview":“luc?ne”
}
}
}
响应信息
9、fuzzy模糊查询--很耗性能
value
boost
min_similarity
prefix_length
max_expansions
请求信息
GET /library/books/_search
{
"query":{
"fuzzy":{
"preview":“rabbit”,
"min_similarity":0.5
}
}
}
fuzzy_like_this
fuzzy_like_this_field
响应信息
10、more_like_this&more_like_this_field查询
fields:
like_text
percent_terms_to_match
min_term_freq
stop_words
min_doc_freq
min_word_len
max_word_len
boost_terms
boost
analyer
ELK学习总结(3-1)elk的基本查询的更多相关文章
- ELK学习实验013:ELK的一个完整的配置操作
前面做了关于ELK组件的各个实验,但是并没有真正的把各个组件结合起来做一个实验,现在使用一个脚本简单的生成日志,模拟生产不断产生日志的效果 一 流程说明 使用脚本产生日志,模拟用户的操作 日志的格式 ...
- ELK学习实验020:ELK使用kafka缓存
首先安装一个kafka集群,但是zookeeper使用单节点,可以让kafka快速跑起来,后续再研究kafka和zokkeeper的集群 1 安装Kafka集群 下面是三个节点都要做 [root@no ...
- ELK学习实验019:ELK使用redis缓存
1 安装一个redis服务 [root@node4 ~]# yum -y install redis 直接启动 [root@node4 ~]# systemctl restart redis [roo ...
- ELK学习链接
1. ELK原理与介绍 2. ELK部署记录
- ADO学习笔记之注入漏洞与参数化查询
ADO学习笔记之注入漏洞与参数化查询 作为新手,在学习ADO程序时,使用 sql 语言查询数据时,很容易写类似如下代码: using (SqlConnection con = new SqlConne ...
- 五、Django学习之基于对象的跨表查询
五.Django学习之基于对象的跨表查询 正向与反向查询 关键在于ForeignKey字段写的位置.例如下面这段代码, 关系属性(字段)写在哪个类(表)里面,从当前类(表)的数据去查询它关联类(表)的 ...
- ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack
最近在学习ELK的时候踩了不少的坑,特此写个笔记记录下学习过程. 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因 ...
- ELK学习笔记之CentOS 7下ELK(6.2.4)++LogStash+Filebeat+Log4j日志集成环境搭建
0x00 简介 现在的公司由于绝大部分项目都采用分布式架构,很早就采用ELK了,只不过最近因为额外的工作需要,仔细的研究了分布式系统中,怎么样的日志规范和架构才是合理和能够有效提高问题排查效率的. 经 ...
- ELK学习之Logstash篇
Logstash在ELK这一整套解决方案中作为数据采集终端,支持对接Kafka.数据库(MySQL.Oracle).文件等等. 而在Logstash内部的数据流转,主要经过三个环节:input -&g ...
- ELK学习笔记(二)-HelloWorld实例+Kibana介绍
这次我们通过一个最简单的HelloWolrd来了解一下ELK的使用. 进入logstash的config目录,创建stdin.conf 文件. input{ stdin{ } } output{ st ...
随机推荐
- python smtp模块发送邮件
应用场景: 在服务器上设置的告警参数被触发后,通常是发送手机短信或者邮件通知,本例就以发送邮件为例,手机怎么收邮件呢?以qq邮箱为例,在手机端安装qq邮箱app,触发邮件后,手机也能及时查看了 代码展 ...
- lsof命令各个参数
lsof `which httpd` 哪个进程在使用apache的可执行文件lsof /etc/passwd ------------ 哪个进程在占用/etc/passwdlsof /dev/hda ...
- JavaSE语法基础(3)---函数、数组
JavaSE语法基础(3)---函数.数组 函数的概念:实现特定功能的一段代码,可反复使用. 函数的出现减少代码冗余,提高代码的复用性,可读性,可维护性,可以使每个功能模块独立起来,方便分工合作. 函 ...
- ES6中export及export default的区别
相信很多人都使用过export.export default.import,然而它们到底有什么区别呢? 在JavaScript ES6中,export与export default均可用于导出常量.函 ...
- 线程池的submit和execute方法区别
线程池中的execute方法大家都不陌生,即开启线程执行池中的任务.还有一个方法submit也可以做到,它的功能是提交指定的任务去执行并且返回Future对象,即执行的结果.下面简要介绍一下两者的三个 ...
- python web开发-flask连接sqlite数据库
在之前的文章中我们介绍了如何在centOS中安装sqlite数据库. Sqlite安装完成后,本节就用flask来连接和操作sqlite数据库. 1. 数据准备 先在sqlite3中创建一 ...
- selenium2自动化测试学习笔记(二)
chromedriver报错问题解决了,真是无语 是因为chromedriver与浏览器版本不一致 http://chromedriver.storage.googleapis.com/index.h ...
- 使用idea新建jsp
使用idea解决新建jsp文件而找不到jsp文件模版的新建选项,这样每次创建一个新的jsp文件岂不是很耗时间? 解决办法: 就是要让idea知道你需要在这个目录下创建jsp文件 左上角,file中点击 ...
- JAVA多线程中start方法与run方法区别
start()方法告诉jvm该线程准备运行,jvm通过调用任务的run()方法执行任务. 一个任务类必须实现Runnable接口,而任务必须从线程运行. 实现Runnable接口后必须重写run()方 ...
- 听翁恺老师mooc笔记(4)--指针的应用场景
指针应用场景一:交换两个变量的值 在学习函数时,交换两个数的值,做一个swap函数,传递值进去,也可以将两个值交换过来,没问题,可是离开swap就没有用了,为什么?因为传进去的是两个值. #inclu ...