Elasticsearch HTTP查询

news/2024/11/17 9:46:20/

1、条件查询

匹配查询

{"query": {"match": {"category": "小米"}}
}

查询全部

{"query": {"match_all": {}}
}

2、分页查询

查询第二页的数据,并且只获取title字段。

{"query": {"match_all": {},"from": 2,"size": 2,"_source": ["title"]}
}

3、查询排序

{"query": {"match_all": {},"from": 2,"size": 2,"_source": ["title"],"sort": {"price": {"order": "desc"}}}
}

4、多条件查询

4.1 must 两个条件同时成立

{"query": {"bool": {"must": [{"match": {"category": "小米"}},{"match": {"price": "1999"}}]}}
}

4.2 should 查询符合两个条件的数据

{"query": {"bool": {"should": [{"match": {"category": "小米"}},{"match": {"category": "华为"}}]}}
}

5、filter 范围查询

大于5000的数据查询

{"query": {"bool": {"should": [{"match": {"category": "小米"}},{"match": {"category": "华为"}}],"filter": {"range": {"price": {"gt": 5000}}}}}
}

6、match、match_phrase 检索方式

match全文检索匹配

当保存文档数据时,es会将数据文字进行进行分词、拆解操作,并将拆解后的数据保存到倒排索引当中,因此即使使用数据的一部分也可以查询到数据,这种检索方式称为全文检索。

案例:小华,将会被拆解为小、华,符合条件的都可查询出来。

{"query": {"match": {"category": "小华"}}
}

match_phrase完全匹配

案例:则匹配小华。

{"query": {"match_phrase": {"category": "小华"}}
}

7、高亮查询

对查询结果当中的category字段高亮显示。

{"query": {"match_phrase": {"category": "小米"}},"highlight": {"fields": {"category": {}}}
}

8、 聚合查询

按照价格分组,并且只获取统计结果

{"aggs": { // 聚合操作"price_group": { // 名称,随意起名"terms": { // 分组"field": "price" // 分组字段}}},"size": 0 // 没有原始数据了,只有统计结果
}

不分组,统计价格平均值

{"aggs": {"price_avg": {"avg": { // 平均值"field": "price"}}},"size": 0
}

9、映射关系

创建索引:

text分词

keyword关键字需完全匹配

index索引:true可被索引,false不可被索引

{"properties": {"name": {"type": "text","index": true},"sex": {"type": "keyword","index": true},"tel": {"type": "text","index": false}}
}

http://www.ppmy.cn/news/244092.html

相关文章

SpringData集成Elasticsearch

Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的 开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计 算数据服务。 Spring Data 可以极大的简化 JPA(Elasticsearch„&#xf…

ElasticSearch学习文档

author Gandalf 介绍 ES是什么 Elasticsearch实时的分布式全文搜索分析引擎,内部使用Lucene做索引与搜索,开发语言为Java 全文:对全部的文本内容进行分析,建立索引,使之可以被搜索 实时:新增到 ES 中的…

ElasticSearch学习随笔之嵌套操作

ElasticSearch 1、ElasticSearch学习随笔之基础介绍 2、ElasticSearch学习随笔之简单操作 3、ElasticSearch学习随笔之java api 操作 4、ElasticSearch学习随笔之SpringBoot Starter 操作 5、ElasticSearch学习随笔之嵌套操作 6、ElasticSearch学习随笔之分词算法 7、ElasticS…

C++中流的分类

前言 关于流本质的问题,其实从我刚开始学习C的时候,就已经存在了。当时找了不少的资料,不过一直处于那种知其然而不知其所以然的状态,关于流的本质问题我还是一直没有搞通,始终就是懵懵懂懂的。 不过在今天&#xff0…

01 ElasticSearch笔记

1.ElasticSearch简介 1.1 ElasticSearch(简称ES) Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。 能够达到实时搜索,稳定,可靠,快速,安装使用方便。 客户端支持Java、.NET&#xff08…

【elasticsearch】elasticsearch文档

elasticsearch文档 创建文档 索引创建完毕,就需要创建文档来添加数据。这里的文档可以理解为关系型数据库中表数据,添加的数据格式需要是JSON格式 在apipost中,向ES服务器发POST请求:http://localhost:9200/shopping/_doc _doc就…

Elasticsearch简介及安装

文章目录 一、Elasticsearch简介1.1 什么是Elasticsearch1.2 Elasticsearch的使用案例3、Es企业使用场景3.1 已经上线的系统:3.2 系统新增加的模块:3.3 索引库存什么数据 二、软件安装1、Elasticsearch安装2.1 下载ES压缩包2.2 安装ES服务2.3 启动ES服务…

Elastic 之 elasticsearch 查询操作

1. 数据准备 POST /liush/_bulk {"index":{"_id":1}} { "title":"小米手机", "images":"http://image.jd.com/12479122.jpg", "price":1999, "stock": 200, "attr": { "cate…