【ElasticSearch 6.*】 学习十:高级查询之复合条件查询_踏凌霄的博客-CSDN博客


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

【ElasticSearch 6.*】 学习十:高级查询之复合条件查询_踏凌霄的博客-CSDN博客
【ElasticSearch 6.*】 学习十:高级查询之复合条件查询
踏凌霄
于 2018-12-20 13:51:53 发布
2880
收藏
分类专栏:
ElasticSearch
自学elasticsearch
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31617637/article/details/85119903
版权
ElasticSearch
同时被 2 个专栏收录
10 篇文章
1 订阅
订阅专栏
自学elasticsearch
11 篇文章
0 订阅
订阅专栏
复合条件查询包含很多种,今天主要介绍固定分数查询和布尔查询。
固定分数查询
由于我们每查出一个文档,则对于这个文档ES都会赋予一个_score参数,可以这是匹配度的打分。 请求地址(Post) http://localhost:9200/_search 请求参数: constant_score:固定分数查询关键字(它支持filter,不支持match) boost:指定固定分数字段。
"query": {
"constant_score":{
"filter": {
"match": {
"title": "陆小凤"
},
"boost": 1
返回值:
"took": 691,
"timed_out": false,
"_shards": {
"total": 6,
"successful": 6,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 1,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
布尔查询(should must must_not)
请求地址(Post) http://localhost:9200/_search 请求参数: bool:布尔查询关键字 should: 需要满足的条件(或者的关系)
"query": {
"bool":{
"should":[
"match": {
"title": "陆小凤"
},
"match": {
"title": "郭靖"
返回值:
"took": 248,
"timed_out": false,
"_shards": {
"total": 6,
"successful": 6,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 4.4556303,
"hits": [
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 4.4556303,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
},
"_index": "book",
"_type": "noval",
"_id": "8",
"_score": 1.4723401,
"_source": {
"title": "郭靖啊",
"author": "金庸",
"word_count": "212",
"publish_date": "1910-09-20"
请求地址(Post) http://localhost:9200/_search 请求参数: bool:布尔查询关键字 must: 需要满足的条件(并且的关系) 请求参数:
"query": {
"bool":{
"must":[
"match": {
"title": "陆小凤啊"
},
"match": {
"word_count": 11
返回值:
"took": 1644,
"timed_out": false,
"_shards": {
"total": 6,
"successful": 6,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 5.688145,
"hits": [
"_index": "book",
"_type": "noval",
"_id": "4",
"_score": 5.688145,
"_source": {
"title": "陆小凤啊",
"author": "古龙",
"word_count": "11",
"publish_date": "1910-09-20"
must + filter 组合查找
请求参数: filter:筛选条件(和must一样是数组)
"query": {
"bool":{
"must":[
"match": {
"title": "陆小凤啊"
},
"match": {
"author": "古龙"
],
"filter":[
"term":{
"word_count": 22
返回值:
"took": 12,
"timed_out": false,
"_shards": {
"total": 6,
"successful": 6,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0.6743476,
"hits": [
"_index": "book",
"_type": "noval",
"_id": "6",
"_score": 0.6743476,
"_source": {
"title": "花满楼啊",
"author": "古龙",
"word_count": "22",
"publish_date": "1910-09-20"
must_not + filter查找
请求参数: must_not:一定不查找关键字(否定) filter:必须满足条件
"query": {
"bool":{
"must_not":[
"match": {
"title": "陆小凤"
},
"match": {
"author": "金庸"
],
"filter":[
"term":{
"word_count": 22
返回值:
"took": 440,
"timed_out": false,
"_shards": {
"total": 6,
"successful": 6,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0,
"hits": [
"_index": "book",
"_type": "noval",
"_id": "6",
"_score": 0,
"_source": {
"title": "花满楼啊",
"author": "古龙",
"word_count": "22",
"publish_date": "1910-09-20"
踏凌霄
关注
关注
点赞
收藏
打赏
评论
【ElasticSearch 6.*】 学习十:高级查询之复合条件查询
复合条件查询包含很多种,今天主要介绍固定分数查询和布尔查询。固定分数查询由于我们每查出一个文档,则对于这个文档ES都会赋予一个_score参数,可以这是匹配度的打分。请求地址(Post) http://localhost:9200/_search请求参数:constant_score:固定分数查询关键字(它支持filter,不支持match)boost:指定固定分数字段。{"...
复制链接
扫一扫
专栏目录
es复合条件查询
congge
07-14
8万+
在es中,使用组合条件查询是其作为搜索引擎检索数据的一个强大之处,在前几篇中,简单演示了es的查询语法,但基本的增删改查功能并不能很好的满足复杂的查询场景,比如说我们期望像mysql那样做到拼接复杂的条件进行查询该如何做呢?es中有一种语法叫bool,通过在bool里面拼接es特定的语法可以做到大部分场景下复杂条件的拼接查询,也叫复合查询
首先简单介绍es中常用的组合查询用到的关键词,
filte...
设计模式之组合模式:实现复合搜索条件构建
weixin_30385925的博客
02-08
153
在订单搜索中,有时需要实现复合搜索,比如 ( A must B ) or ( C must D ) 或者 (A or C) must ( B or D ) 。 这就需要能够灵活地组合条件,条件可以是原子的或复合的。可以使用组合模式来实现。
思路
要实现复合搜索条件的构建,需要解决两个问题:A. 如何表示复合搜索条件; B. 如何将复合搜索条件转换为合适的ES查询对象。对于A来说,关键就是...
参与评论
您还未登录,请先
登录
后发表或查看评论
14-17-elasticsearch-条件查询及分页
最新发布
qq_37171694的博客
11-20
13
es-14-17
ES--复合查询(Compound queries)
chbxw
03-31
989
参考官网 Elasticsearch Reference [7.10] » Query DSL » Compound queries
文章目录一、bool 查询二、boosting 查询三、constant_score 查询四、dis_max 查询五、function_score 查询
一、bool 查询
二、boosting 查询
三、constant_score 查询
四、dis_max 查询
五、function_score 查询
...
ElasticSearch 6.x 学习笔记:32.Java API之复合查询
程裕强的专栏
02-22
2594
https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.1/java-compound-queries.html
Compound queriesedit
Compound queries wrap other compound or leaf queries, either to combine their result...
ElasticSearch 6.x 学习笔记:18.复合查询
人在囧途的博客
03-12
136
ElasticSearch 6.x 学习笔记:18.复合查询18.1 constant_score 查询18.2 bool查询(逻辑查询)18.3 dis_max 查询18.4 fucntion_score 查询18.5 boosting 查询
原文:https://blog.csdn.net/chengyuqiang/article/details/79101416
https://www.e...
全文检索 Elasticearch 多条件检索 过滤检索 分词检索
weixin_45626288的博客
10-16
482
Elasticearch 1.ElasticaSearch安装2. elasticsearch.yml3. 启动elasticsearch4. 使用Postman 创建索引库1. 使用postman或curl这样的工具创建:5. 创建 IDEA 项目1. 创建myes 项目2. 添加依赖3. 创建 application.yml 配置文件4. 在 config 包下创建MyElasticsearchConfig6. 创建测试类MyEsTest7. 创建启动类MyEsApp8. 启动服务在控制台得到测试数
【ElasticSearch教程】--- Elasticsearch文档多条件查询(十二)
maoye的博客
05-09
2276
多条件查询
同时满足must
查询的body体的查询不能在使用match关键字了,而需要使用,bool然后要多个条件同时成立,接下来要填入must,多个条件用数组。body样例如下:
"query":{
"bool": {
"must":[
"match":{
"category":"床上用品"
elastic search 多条件查询
Truong的专栏
03-14
4358
curl "http://your ip:9200/your index/your type/_search" -d "{"query":{"and":[{"match":{"条件字段1":条件值1}},{"match":{"条件字段2":条件值2}}]}}"
elasticsearch基本操作之--使用QueryBuilders进行查询
dengtinghuan5005的博客
07-06
946
/**
* 系统环境: vm12 下的centos 7.2
* 当前安装版本: elasticsearch-2.4.0.tar.gz
*/
QueryBuilder 是es中提供的一个查询接口, 可以对其进行参数设置来进行查用擦还训
package com.wenbronk.javaes;
import java.net.InetSocketAddress;
...
ElasticSearch BoolQueryBuilder使用
热门推荐
AlexWong的专栏
11-08
3万+
package com.agileeagle.gf.dw.test;
import com.agileeagle.gf.dw.util.DateUtils;
import com.google.common.collect.Lists;
import org.apache.lucene.queryparser.xml.builders.BooleanQueryBuilder;
import o...
Elasticsearch 基本操作+高级查询
qq_41921511的博客
06-17
570
本示例elasticsearch版本7.1,之前的版本请勿参考
API基本格式 http://<ip>:<port>/<索引>/<类型>/<文档id>
常用HTTP动词 GET/POST/PUT/DELETE
代码参考:
Elasticsearch 基本操作(CURD)PHP类
创建索引
请求地址:127....
【6】ElasticSearch复合查询
weixin_41701308的博客
07-30
131
ElasticSearch的复合查询2.10.1 使用bool查询2.10.2 constant_score查询
将多个基本查询组合成单一查询的查询
2.10.1 使用bool查询
接收以下参数:
must:
文档 必须匹配这些条件才能被包含进来。
must_not:
文档 必须不匹配这些条件才能被包含进来。
should:
如果满足这些语句中的任意语句,将增加 _score,否则,无任何影响。它们主要用于修正每个文档的相关性得分。
filter:
必须 匹配,但它以不评分、过滤模式来进行。这些语句对评分没
ElasticSearch6.X查询及相关基本操作
java后端开发
03-09
3169
ElasticSearch笔记
基础概念
索引:含有相同属性的文档集合
   相当于与SQL中database
类型:索引可以定义一个或多个类型,文档必须属于一个类型
   相当于与SQL中table
文档:文档是可以被索引的基本数据单位
   相当于与SQL中row
假设一个系统中有多个汽车,图书,家具 等等索引
图书索引,按类型分为科普,小说,心理,历史等等类型。
具体到每一本书籍就是文...
es java 实现should must filter组合查询
C18298182575的博客
09-10
2241
三种属于一个层级,一般must filter放在一个boolQuery中,should放在另外一个新的boolQuery中。
如下:
@Override
@SneakyThrows
public List<ResProductInfoVOPage> getDetailInfoByGroupAndBigMidCategoryCode(ReqProductInfoVO req) {
SearchRequest searchRequest = new Searc
Elasticsearch:BoolQueryBuilder 实现and or多条件分页求和查询
不喝牛奶的公主的博客
12-07
8575
今天项目组同时遇到了一个需要es查询通过and or sum 联合查询并分页的需求,经过研究找到了对应的解决方案。
es 模糊查询_【ES 系列5】ES 查询优化
weixin_39806288的博客
11-29
697
简介ES 虽然在设计架构上有非常好的搜索性能,但是随着数据量的不断增加,会有很多因素影响着 ES 的查询性能。本文从 集群规划、索引设计、以及 查询方法 的角度,介绍了关于 ES 查询优化的一些手段,本文主要参考文章如下:https://blog.csdn.net/laoyang360/article/details/82080012让Elasticsearch飞起来!百亿级实时查询优化实战 集群...
es模糊查询与精准查询混用、距离排序、返回距离
frgzs的博客
03-12
9008
es模糊查询与精准查询混用
QueryBuilder qb1 = QueryBuilders.matchPhraseQuery("XXXXXX1", "查询短语");
QueryBuilder qb2 = QueryBuilders.termQuery("XXXXXX2",1);
QueryBuilder qb3 = QueryBuilders.boolQuery().must(qb1).must...
ElasticSearch在Java中实现复合查询
周天祥的博客
04-23
2万+
ElasticSearch在Java中实现复合查询
适用范围ElasticSearch6.x
如果是ElasticSearch7或以上版本情转到如下链接
REST高级客户端-DocumentApi:https://blog.csdn.net/u014646662/article/details/96473156
REST高级客户端SearchApi:https://blog.csdn.ne...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️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币套餐、付费专栏及课程。
余额充值