【ElasticSearch 6.*】 学习九:高级查询之子条件查询_踏凌霄的博客-CSDN博客_es子查询作为条件


本站和网页 https://blog.csdn.net/qq_31617637/article/details/85109577 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

【ElasticSearch 6.*】 学习九:高级查询之子条件查询_踏凌霄的博客-CSDN博客_es子查询作为条件
【ElasticSearch 6.*】 学习九:高级查询之子条件查询
踏凌霄
于 2018-12-19 22:43:47 发布
1181
收藏
分类专栏:
ElasticSearch
自学elasticsearch
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31617637/article/details/85109577
版权
ElasticSearch
同时被 2 个专栏收录
10 篇文章
1 订阅
订阅专栏
自学elasticsearch
11 篇文章
0 订阅
订阅专栏
概念
高级查询分为子条件查询和复合条件查询。
子条件查询:在查询过程中,除了判断文档是否满足查询条件外,ES还会计算一个_socre来标识匹配的程度,旨在判断目标文档和查询条件匹配的有多好(匹配度)。子条件查询包括Query Context 和 Filter context两种查询。
queryContext 常用查询1 全文本查询:针对文本类型数据
模糊匹配 请求连接(POST) http://localhost:9200/book/_search 请求参数(条件): {
"query": {
"match":{
"title": "陆小凤啊"
查询返回结果: 不单有陆小凤啊 ,还有别的,是因为系统把title查询的做了分词处理,然后同时模糊查询的。 {
"took": 1836,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 10,
"max_score": 4.688145,
"hits": [
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 4.688145,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "9",
"_score": 0.36826366,
"_source": {
"title": "杨过啊",
"author": "金庸",
"word_count": "1111",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "3",
"_score": 0.32590744,
"_source": {
"title": "楚留香啊",
"author": "古龙",
"word_count": "2811",
"publish_date": "1990-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "10",
"_score": 0.32590744,
"_source": {
"title": "铁中棠啊",
"author": "金庸",
"word_count": "1111",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "11",
"_score": 0.26054117,
"_source": {
"title": "丁鹏啊",
"author": "金庸",
"word_count": "2221",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "5",
"_score": 0.23251483,
"_source": {
"title": "李寻欢啊",
"author": "古龙",
"word_count": "1221",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "6",
"_score": 0.23251483,
"_source": {
"title": "花满楼啊",
"author": "古龙",
"word_count": "22",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "7",
"_score": 0.20993245,
"_source": {
"title": "西门吹雪啊",
"author": "古龙",
"word_count": "2222",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "8",
"_score": 0.19363807,
"_source": {
"title": "郭靖啊",
"author": "金庸",
"word_count": "212",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "12",
"_score": 0.17225473,
"_source": {
"title": "鸠摩智啊",
"author": "金庸",
"word_count": "44",
"publish_date": "1910-09-20"
短语匹配/习语匹配(精确匹配) 请求连接(POST) http://localhost:9200/book/_search 请求参数(条件): match_phrase:短语匹配关键字 {
"query": {
"match_phrase":{
"title": "陆小凤啊"
查询返回结果: {
"took": 6944,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 4.688145,
"hits": [
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 4.688145,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
多个字段模糊匹配查询 请求参数 multi_match:多个字段的关键字 query:模糊匹配的内容 fields: 字段的集合 {
"query": {
"multi_match":{
"query": "陆小凤啊",
"fields": ["author","title"]
语法查询 请求参数 query_string: 语法查询的关键字 query:查询条件 and和or 必须大写 fields:查询字段(可选) //OR 或者
"query": {
"query_string":{
"query": "陆小凤 OR 金庸",
"fields": ["author","title"]
//AND
"query": {
"query_string":{
"query": "(陆小凤 AND西门) OR 金庸",
"fields": ["author","title"]
queryContext 常用查询2 字段级别查询: 针对结构化数据,如数字、日期等
具体项查询 请求参数: term:具体项{
"query": {
"term":{
"author": "金庸"
范围查询(int类型和时间类型): 请求字段: range:范围查询关键字 gte:大于等于 gt:大于 lte:小于等于 lt:小于 请求参数:{
"query": {
"range":{
"word_count": {
"gte": "100",
"lte": "2000"
//当前可以使用now 来表示
"query": {
"range":{
"publish_date": {
"gte": "1990-09-20",
"lte": "now"
Filter context
在查询过程中,只判断该文档是否满足条件,只有Yes或者No
查询条件 filter:数据过滤 关键字 配合bool 关键字一起使用
"query": {
"bool":{
"filter": {
"term": {
"word_count": 2222
返回值:
"took": 3856,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0,
"hits": [
"_index": "book",
"_type": "noval",
"_id": "7",
"_score": 0,
"_source": {
"title": "西门吹雪啊",
"author": "古龙",
"word_count": "2222",
"publish_date": "1910-09-20"
tip:filter context 查询到的数据会被缓存,第二次查询会加快。
踏凌霄
关注
关注
点赞
收藏
打赏
评论
【ElasticSearch 6.*】 学习九:高级查询之子条件查询
概念高级查询分为子条件查询和复合条件查询。子条件查询:在查询过程中,除了判断文档是否满足查询条件外,ES还会计算一个_socre来标识匹配的程度,旨在判断目标文档和查询条件匹配的有多好(匹配度)。常用查询1 全文本查询:针对文本类型数据常用查询2 字段级别查询: 针对结构化数据,如数字、日期等...
复制链接
扫一扫
专栏目录
ElasticSearch查询语句
10-10
ElasticSearch查询学习;ElasticSearch查询学习;ElasticSearch查询学习;ElasticSearch查询学习;ElasticSearch查询学习;ElasticSearch查询学习;
elasticsearch(es) 使用子查询模拟sql and (or)
wwwer52022222的博客
07-23
6032
"query": {
"bool": {
"must": [
"query_string": {
"default_field": "case_name.keyword",
"query": "*测试*"
},
...
参与评论
您还未登录,请先
登录
后发表或查看评论
谷歌浏览器网页翻译失效,无法翻译成中文,且谷歌翻译api报404问题
最新发布
qq_40902326的博客
10-27
2054
但是自10月21日后谷歌 断开了谷歌翻译与在华运营的其它网络服务 IP 的关联,通过可访问的 translate.googleapis.com 域名获取 IP 不再可行,想要通过修改 hosts 恢复谷歌翻译功能,需要寻找其它可用 IP 地址。在9月底时就发现谷歌一键翻译不可用,原来是谷歌关停了翻译功能。但是机智的我们发现谷歌翻译api依旧可以使用,于是Ping一下 translate.googleapis.com 获取了ip,将新的ip 放入hosts文件重定向下依旧可以快乐的使用。
es dsl多条件组合查询(转)
PacosonSWJTU的博客
07-24
2541
【README】在不评分的情况下, 推荐使用filter 过滤查询,因为不评分,查询性能优于评分性能;
转:https://www.elastic.co/guide/cn/elasticsearch/guide/current/combining-queries-together.html
下面截图是我认为最有价值的地方。
【2】全文如下:
现实的查询需求从来都没有那么简单;它们需要在多个字段上查询多种多样的文本,并且根据一系列的标准来过滤。为了构建类似的高级查询,你需要一种能够将多查询组合成单
实现and与or查询——elasticsearch
qq_26915707的博客
12-15
2万+
"query": {
"bool": {
"must": [{
"match_phrase": {
"name": "a"
}],
"should": [{
"match_phrase": {
"city": "b"
es的多条件查询
sunlang的博客
06-13
5083
需求,查询es中的当前新增和变化的数据
GET /wfs_order_list_index/_doc/_search
"query":
"bool":
"should":
"range": {
"orderCreateTime":
"gte": "2020-05-31 00:00:00",
"lte": "
es父子条件查询语句
Everglow101的博客
12-10
1026
DELETE my_blogs
# 设定 Parent/Child Mapping
PUT my_blogs
"settings": {
"number_of_shards": 2
},
"mappings": {
"properties": {
"blog_comments_relation": {
"type": "join",
"relations": {
"blog": "comment"
...
elasticsearch系列-子条件查询
在途中
02-21
3863
子条件查询
子条件查询又称为叶子条件查询,在特定字段中查询所指定值。在子查询中又分为Query Context和FilterContext。
QueryContext
在QueryContext查询过程中,除了判断文档是否满足查询条件外,elasticsearch还会计算一个"_score"来标识匹配的文档的标识度,用于判断目标文档和查询条件匹配的又多吻合。
在QueryContext中,针对于文...
elasticsearch聚合后再子查询(另类思路)
做时间的执行者的博客
04-29
2209
es中没法使用子查询,所以很多复杂操作都没办法实现。因一个需求,想到的另类思路。欢迎提出建议和其他好的解决方法。
1、需求背景
需求:从两个时间区间中,根据号码和颜色进行聚合,sum(pass_count),并将两个聚合结果进行join,取交集。
2、mysql的写法
select t1.no,t1.color,t1.cc1,t2.cc2 from
(select
no,color,sum(pass_count) cc1
from tt1
where pass_time > '2022-
ElasticSearch五:脑裂问题与解决方案、空间向量模型、数据建模、文件路径检索与深分页、SQL、Java API整合ES实现深分页,高亮等操作
Xx__WangQi的博客
03-19
171
ElasticSearch五:脑裂问题与解决方案、空间向量模型、数据建模、文件路径检索与深分页、SQL、Java API整合ES
一、ElasticSearch文档分值_score计算底层原理
boolean model
根据用户的query条件,先过滤出包含指定term的doc
query "hello world" --> hello / world / hello & world
bool --> must/must not/should --> 过滤 -.
ElasticSearch(三):ES有条件复杂查询
huanglu0314的博客
09-01
863
前面使用from和size方式,查询在1W条数据以内都是OK的,但如果数据比较多的时候,会出现性能问题。使用scroll查询后,排序后的数据会保持一定的时间,后续的分页查询都从该快照取数据即可。另外,经常使用过滤器,ES会自动的缓存过滤器的内容,这对于查询来说,会提高很多性能。模糊匹配主要是针对文本类型的字段,文本类型的字段会对内容进行分词,对查询时,也会对搜索条件进行分词,然后通过倒排索引查找到匹配的数据,模糊匹配主要通过match等参数来实现。must : 各个条件都必须满足,即各条件是and的关系。
ES基本查询,filter 查询,组合查询
yib0y的博客
11-29
3万+
Elasticsearch 是功能强大的全文搜索引擎,用它的目的就是为了能快速的查询你想好要的数据
基本查询:利用Elasticsearch内置查询条件进行查询
组合查询:把多个基本查询组合在一起的复合性查询
过滤:查询的同时,通过filter条件 在不影响打分的情况下筛选出想要的数据
基本查询:
1.term,terms查询
2.from,size
3.返回版本号_version
4.match...
QueryBuilder构造ES查询条件 精准匹配、模糊搜索、in、范围查询 and or
热门推荐
xiaozm1223的博客
04-11
4万+
package com.xzm.es;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map.Entry;
import org.elasticsearch.action.ListenableActionFuture;
im...
ES之多条件、范围查询
愤怒的豌豆炮的博客
12-22
1万+
ES之多条件、范围查询
一、多条件查询
1.条件“且”,即查询"title"为"test6",且"num"为5的数据
【GET】请求:http://127.0.0.1:9200/test-index-1/_search,参数如下
"query":{
"bool":{
"must":[
"match":{
"title": "test6
使用ES如何创建子查询 PipelineAggregatorBuilders
格赚
02-01
5181
对于平时的group by 我们都知道使用AggregationBuilder 可以解决
AggregationBuilder aggregationBuilder =
AggregationBuilders.terms("nameAgg").field("name.keyword").size(Integer.MAX_VALUE) //1
.subAggregation(...
es java api 子查询,criteria 子查询 es
weixin_42516575的博客
03-19
628
elasticsearch.core.query中Criteria类各个方法详解--CSDN...2016年2月25日asticsearch.core.query中Criteria类各个方法详解 10C elasticsearch.core.query中Criteria类各个方法详解,特别 点赞 评论 复制链接分享提交 weixin...ElasticSearch各种查询 带解释_十年的博客-C...
ElasticSearch进阶:一文全览各种ES查询在Java中的实现
良月柒
01-20
1128
程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 12 分钟。来自:blog.csdn.net/mu_wind/article/details/118423362这篇博...
es java api 子查询,SPL 查询语法 for elasticsearch
weixin_34495151的博客
03-19
346
SPL 查询语法 for elasticsearch基本查询全文检索index=es_sql_test* 502 AND Woodard短语查询index=es_sql_test* "502 Baycliff Terrace"字段值查询index=es_sql_test* state=PA AND age<30 AND gender=M逻辑运算符必须大写, 支持的运算符有:AND state...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:创作都市
设计师:CSDN官方博客
返回首页
踏凌霄
CSDN认证博客专家
CSDN认证企业博客
码龄7年
暂无认证
128
原创
3万+
周排名
129万+
总排名
60万+
访问
等级
4594
积分
87
粉丝
130
获赞
28
评论
537
收藏
私信
关注
热门文章
Linux查看日志命令
153828
Sub-process /usr/bin/dpkg returned an error code (1)的解决方法
61591
Discuz 论坛 手机端微信登录报错:此公众号并没有这些scope的权限,错误码:10005
35912
各大邮箱每天发送数量限制
35658
跨域问题出现原因和解决方案
35350
分类专栏
Linux学习记录
15篇
初级微信公众号开发
11篇
自学elasticsearch
11篇
mysql中高级
6篇
算法基础
4篇
自学Go
Redis
1篇
Linux
1篇
Nginx
2篇
PHP
14篇
程序人生
ElasticSearch
10篇
算法
Mysql
4篇
CI框架
1篇
架构
1篇
最新评论
Discuz 论坛 手机端微信登录报错:此公众号并没有这些scope的权限,错误码:10005
随遇而安385:
可不可以重新认证呢
前端问题:jQuery控制checkbox选中状态但是不显示选中
HHHHHHHHHHHHHHHHH黒田:
非常有经验的帖子
"使用javascript原生代码来控制"
各大邮箱每天发送数量限制
踏凌霄:
(⊙o⊙)…,俺也不知道 只是记录下
各大邮箱每天发送数量限制
Rays_Of_Light:
QQ邮箱怎么判断是哪种用户?是根据家里用的是2G、3G或者是4G网吗
跨域问题出现原因和解决方案
Keep Running!:
很腻害
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
PHP接入腾讯云直播(无SDK版)
【paypal错误分析】PayPal API: Exception: 401 when accessing https://api.sandbox.paypal.com/v1/oauth2/token
【银联支付】php接入银联支付
2021年1篇
2020年8篇
2019年14篇
2018年50篇
2017年67篇
目录
目录
分类专栏
Linux学习记录
15篇
初级微信公众号开发
11篇
自学elasticsearch
11篇
mysql中高级
6篇
算法基础
4篇
自学Go
Redis
1篇
Linux
1篇
Nginx
2篇
PHP
14篇
程序人生
ElasticSearch
10篇
算法
Mysql
4篇
CI框架
1篇
架构
1篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
踏凌霄
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值