es查询和更新 语句示例
文档目录: https://www.elastic.co/guide/index.html
GET _search
{
"query": {
"match_all": {}
}
} GET /_template/* PUT /_template/hs_server_template
{
"order": 0,
"version": 60001,
"index_patterns": [
"hs_server*"
],
"settings": {
"index": {
"refresh_interval": "5s"
}
},
"mappings": {
"doc": {
"dynamic_templates": [
{
"message_field": {
"path_match": "message",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false
}
}
},
{
"string_fields": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false,
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
],
"properties": {
"@timestamp": {
"type": "date"
},
"@version": {
"type": "keyword"
},
"ErrorCode": {
"type": "integer"
},
"geoip": {
"dynamic": true,
"properties": {
"ip": {
"type": "ip",
"latitude": {
"type": "half_float"
},
"longitude": {
"type": "half_float"
}
}
},
"responseLogTime": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd||epoch_millis||yyyy-MM-dd HH:mm:ss.SSSZ"
}
}
}
},
"aliases": {}
}
} DELETE /_template/my_test_play_dur_template PUT /_template/tv_stats_play_dur_template
{
"order": 0,
"version": 60001,
"index_patterns": [
"tv_stats_play_dur*"
],
"settings": {
"index": {
"refresh_interval": "30s"
}
},
"mappings": {
"doc": {
"dynamic_templates": [
{
"message_field": {
"path_match": "message",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false
}
}
},
{
"string_fields": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false,
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
],
"properties": {
"@timestamp": {
"type": "date"
},
"@version": {
"type": "keyword"
},
"remote_address": {
"type": "ip"
},
"duration": {
"type": "long"
},
"id": {
"type": "long"
},
"importbatchno": {
"type": "keyword"
},
"index_name_suffix": {
"type": "keyword"
},
"mac": {
"type": "keyword"
},
"main_id": {
"type": "long"
},
"main_name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"sub_id": {
"type": "long"
},
"sub_name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"type_name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"url": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"userid": {
"type": "long"
},
"versioncode": {
"type": "keyword",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
},
"aliases": {}
} GET /tv_stats_play_dur-2019-06-05/_search/
DELETE /my_test-2019.05.10
GET /my_test-2019.05.13/_search #query
GET /tv_stats_play_dur*/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"root_id": 5
}
},
{
"match": {
"sub_id": 0
}
}
],
"must_not": [
{ "match": { "root_name": "直播" } }
]
}
}
} #batch update or bulk update
POST /tv_stats_play_dur*/doc/_update_by_query?conflicts=proceed
{
"query": {
"bool": {
"must": [
{
"term": {
"root_id": 5
}
},
{
"match": {
"sub_id": 0
}
}
],
"must_not": [
{
"match": {
"root_name": "直播"
}
}
]
}
},
"script": {
"lang": "painless",
"source": "ctx._source.root_name = params.live_name",
"params": {
"live_name": "直播"
}
}
} # get count num of null root by root,main,sub
GET /tv_stats_play_dur-2019-06-07*/_search?search_type=dfs_query_then_fetch
{
"query": {
"bool": {
"must_not": [
{
"exists": {
"field": "root_name.keyword"
}
}
]
}
},
"aggs": {
"root_id": {
"terms": {
"field": "root_id",
"size": 25
},
"aggs": {
"main_id": {
"terms": {
"field": "main_id",
"size": 25
},
"aggs": {
"sub_id": {
"terms": {
"field": "sub_id",
"size": 25
}
}
}
}
}
}
}
} #root name null group by date
GET /tv_stats_play_dur-2019-06*/_search?search_type=dfs_query_then_fetch
{
"query": {
"bool": {
"must_not": [
{
"exists": {
"field": "root_name.keyword"
}
}
]
}
},
"aggs": {
"root_id": {
"terms": {
"field": "importbatchno",
"size": 25
}
}
}
} #search by import date
GET /tv_stats_play_dur*/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"importbatchno": 20190610
}
}
]
}
}
} #delete by import date
POST /tv_stats_play_dur*/doc/_delete_by_query
{
"query": {
"bool": {
"must": [
{
"term": {
"importbatchno": 201906101
}
}
]
}
}
} ##########################
GET /hs_server_ahc_task*/_search
{
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"match": {
"LogMessage": "Error"
}
},
{
"match": {
"LogMessage": "MessagePull"
}
}
]
}
}
]
}
}
}
es同个字段,多个值搜索的案例
search_pdf_query = {"query": {
"bool":
{
"must": [
{"bool": {"should":[{"match_phrase": {"pdf_title":"年度报告"}},{"match_phrase":{"pdf_title":"季度报告"}}]}},
{"range": {"announce_date": {"gte": "2017-01-01","lte": "2018-12-31"}}},
{"terms": {"html_status": ["201", "300", "301", "302"]}},
{"terms": {"trade_code.keyword": ["600548","000548"]}}],
"must_not": [{"wildcard": {"origin_title.keyword": '*摘要'}},{"wildcard": {"origin_title.keyword": '*年度报告书'}}],
}},
"sort": [{"announce_date": "asc"}]
}
查找值包含某些文本的情况:
- 完全匹配情况下,对同一个字段的多个值搜索,使用terms查询,举例:
{"terms": {"html_status": ["201", "300", "301", "302"]}} - 如果不完全匹配,则在must里添加bool查询,再在bool里添加should查询,举例:
{"bool": {"should":[{"match_phrase": {"pdf_title":"年度报告"}},{"match_phrase":{"pdf_title":"季度报告"}}]}}
如何区分使用match,match_phrase,term可参考此篇
https://blog.csdn.net/camelcanoe/article/details/79544155
这里也涉及到查询的字段是否是 NOT_ANALYZED,ANALYZED字段无法使用term,只能使用match_phrase。
所以在新建index的时候需要把mapping设置好,哪些字段是ANALYZED,哪些是NOT_ANALYZED(感觉是个坑)
es查询和更新 语句示例的更多相关文章
- es 查询更新操作
# es 查询更新操作# _*_ coding: utf-8 _*_ import time import datetime import pymysql from elasticsearch imp ...
- sql查询语句示例
今天没事又专门学习了一下sql查询语句,个人感觉太重要了,于是就找了网上的一个示例自己练了起来,感觉学到了很多,下面跟大家分享一下sql查询语句的示例操作. 首先,我建了5张表,分别如下: (a)学生 ...
- Hudi 数据湖的插入,更新,查询,分析操作示例
Hudi 数据湖的插入,更新,查询,分析操作示例 作者:Grey 原文地址: 博客园:Hudi 数据湖的插入,更新,查询,分析操作示例 CSDN:Hudi 数据湖的插入,更新,查询,分析操作示例 前置 ...
- ES查询语句
记录常用的es 查询 聚合 GET _cat / indices GET / p_ext_develop / _mapping / g GET / p_ext_develop / _analyze { ...
- Es查询结果集默认是10000,更新设置
Es查询结果集默认是10000,结果集大小是int,最大为21亿左右 PUT _all/_settings?preserve_existing=true { "index.max_resul ...
- 使用TSQL查询和更新 JSON 数据
JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...
- Microsoft SQL - 查询与更新
查询与更新(Query & Update) 转义引号 SQL语句中字符串只能使用单引号,如果需要转义,可用单引号转义单引号. 查询(Inquire) 以下公式中的c指代列名. 规则 1.查询语 ...
- Mysql语句示例
Mysql语句示例 最常用 sql 语句总结 前言 Mysql 是数据库开发使用的主要平台之一.sql 的学习掌握与使用是数据库开发的基础,此处展示详细sql 语句的写法,及各种功能下的 sql 语句 ...
- AppBox升级进行时 - 关联表查询与更新(Entity Framework)
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 关联表的查询操作 使用 Include 方法,我们可以在一次数据库查询中将关联 ...
随机推荐
- scala简单的功能实现~weekone
以下是scala简单的入门题~ 1.⼀个数字如果为正数,则它的signum为1:如果是负数,怎么signum为-1:如果是0,则signum 为0.编写⼀个函数来计算这个值. object Test ...
- C++将模板的声明和定义放置在同一个头文件里
1. 一个类: 头文件用于保存类的声明:定义文件保存类的实现. 2. 分离编译模式: 允许在一个编译单元(.cpp文件)中定义函数.类型.类对象等,然后在另一个编译单元中引用它们.编译器处理完所有 ...
- 数据分析 - pandas
简介 pandas是一个强大的Python数据分析的工具包,它是基于Numpy构建的,正因pandas的出现,让Python语言也成为使用最广泛而且强大的数据分析环境之一. Pandas的主要功能: ...
- 函数式编程:面向可复用的map和pipeline机制的编程语言
函数式编程:面向可复用的map和pipeline机制的编程语言
- Web安全之CSRF基本原理与实践
阅读目录 一:CSRF是什么?及它的作用? 二:CSRF 如何实现攻击 三:csrf 防范措施 回到顶部 一:CSRF是什么?及它的作用? CSRF(Cross-site Request Forger ...
- Zookeeper的缺点
工作中对Zookeeper都是间接比较浅的使用,性能也没太高的要求所以对它的缺点也没太深的认识,从网上评价看,它还是有不少问题的. 1. 原生客户端坑太多,Curator(Curator是Netfli ...
- LOJ3058. 「HNOI2019」白兔之舞 [DP,MTT]
LOJ 前置知识:任意长度NTT 普通NTT只能做\(2^k\)的循环卷积,尝试扩展成长度为\(n\)的循环卷积,保证模意义下\(\omega_n\)存在. 不管怎样还是要算点值.推式子: \[ \b ...
- docker之网络桥接的两种方式
第一种:直接敲命令方式配置安装网桥管理工具包:bridge-utile # yum install bridge-utils -y 1.先查看ip 是否有br0ip a2.brctl show 3使用 ...
- unicode欺骗—— hctf - admin
查看源代码,发现<!-- you are not admin --> 提示要以管理员身份登陆 尝试注册管理员账号,提示The username has been registered 于是 ...
- oc界面开发整理
oc界面开发整理 ViewController.h from test82 #import <UIKit/UIKit.h> @interface ViewController : UIVi ...