es常用查询学习记录

摘要:
DELETE/testPUT/test{“settings”:{“number_of_shards”:10,“number_off_replicates”:1}}DELETE/employee##非结构化新索引PUT/employee{“settings”:{”number_of_replicate“:1,”number_off_shards“:1}}}}PUT/employee/_ doc/1{“name”:

DELETE /test

PUT /test
{
"settings": {
"number_of_shards": 10,
"number_of_replicas": 1
}
}

DELETE /employee
##非结构化新建索引

PUT /employee
{
"settings": {
"number_of_replicas": 1
, "number_of_shards": 1
}
}


PUT /employee/_doc/1
{
"name":"凯杰2",
"age":30
}


PUT /employee/_doc/1
{
"name":"凯杰3"
}

##获取索引记录
GET /employee/_doc/1

#指定字段修改
POST /employee/_update/1
{
"doc": {
"name":"凯杰4"
}
}

#强制指定创建,若已经存在则失败
POST /employee/_create/6
{
"name":"兄长2",
"age":"31"
}

#删除某个文档
DELETE /employee/_doc/2

#查询全部文档
GET /employee/_search

#使用结构化的方式创建索引
PUT /employee
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"name":{"type":"text"},
"age":{"type": "integer"}
}
}
}

#不带条件查询所有记录的方法
GET /employee/_search
{
"query": {
"match_all": {}
}
}

#分页查询
GET /employee/_search
{
"query": {
"match_all": {}
}
, "from": 0,
"size": 2
}

#带关键字条件查询
GET /employee/_search
{
"query":{
"match": {
"name": "兄"
}
}
}

#带排序
GET /employee/_search
{
"query":{
"match": {
"name": "兄"
}
}, "sort":[
{"age":{"order":"asc"}}
]
}

#带filter term完全匹配 match 分词匹配
GET /employee/_search
{
"query": {
"bool": {
"filter": [
{"term":{"name":"兄111"}}
]
}
}
}

#带聚合
GET /employee/_search
{
"query": {
"match": {
"name": "兄"
}
},"sort": [
{
"age": {
"order": "desc"
}
}
],
"aggs": {
"group_by_age": {
"terms": {
"field": "age"
}
}
}
}

#新建一个索引
PUT /movie/_doc/1
{
"name":"Eating an apple a day & keeps the doctor away"
}

GET /movie/_search
{
"query": {
"match": {
"name": "appl"
}
}
}

#使用analyze api查看分词状态 过滤两次(1.量词,特殊字符 2.词干 英文会大写变小写方便查询)
GET /movie/_analyze
{
"field": "name",
"text":"Eating an apple a day & keeps the doctor away"
}

DELETE /movie

#使用结构化方式创建索引

PUT /movie
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"name":{"type": "text","analyzer": "english"}
}
}
}

GET /movie/_search

#Text 被分析索引的字符串类型
#keyword不能被分析只能被精确匹配的字符串类型
#Date日期类型,可以配合format一起使用
#数字类型 long interger short double
#boolean true false
#Array one two
#Object json嵌套
#IP 类型
#Geo_point地址位置

免责声明:文章转载自《es常用查询学习记录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇TI AM335X 网卡驱动解析Kubernetes Ingress 日志分析与监控的最佳实践下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Sqlserver:计算列

CREATE TABLE  CREATE TABLE   [ database_name.[ owner ] . | owner. ] table_name     ( { < column_definition >         | column_name AS computed_column_expression         | &...

(转)Android Studio 增加函数注释模板

此篇文章主要介绍如何在Android Studio中函数如何添加注释,使其和eclipse一样方便的添加注释 Android Studio默认函数注释为 /** * */ 下面方法将要改为如下格式 1 2 3 4 5 /**  *  * @author zony  * @time 15-11-25 下午2:41  */...

Mysql数据优化--DBA梳理珍藏篇

1. 优化SQL1)     通过show status了解各种sql的执行频率         show status like 'Com_%'        了解 Com_select,Com_insert 的执行次数 2)    通过Explain分析低效的sql语句 3)    建立合适的索引 4)    通过show status like '...

SQL Server数据库查询速度慢的原因和解决方法

SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:   1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)   2、I/O吞吐量小,形成了瓶颈效应。   3、没有创建计算列导致查询不优化。   4、内存不足   5、网络速度慢   6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)   ...

Oracle中索引的使用 索引性能优化调整

索引是由Oracle维护的可选结构,为数据提供快速的访问。准确地判断在什么地方需要使用索引是困难的,使用索引有利于调节检索速度。 当建立一个索引时,必须指定用于跟踪的表名以及一个或多个表列。一旦建立了索引,在用户表中建立、更改和删除数据库时, Oracle就自动地维护索引。创建索引时,下列准则将帮助用户做出决定:        1) 索引应该在SQL语句的...

squid反向代理基本概述及性能事项

一、基本概念 squid反向代理作web加速是大型网站的常用模式。1. squid来自于1990的cache harvest项目。这个项目一个分支形成squid,另一个形成netapp的netcache产品(netapp的netcache是固化在其硬件产品中的,整体价格很贵) 2.squid是硬盘缓存,其使用内存作缓存内容的索引(一个索引在32位系统中大小...