10-Query Filtering 与多字符串多字段查询

news/2024/12/27 22:07:24/

# must,有算分

# Filter。不参与算分,结果的score是0

# 改变数据模型,增加字段。解决数组包含而不是精确匹配的问题

# 嵌套,实现了 should not 逻辑

# minimum_should_match: 指定了至少应该匹配的 should 子句数量。


DELETE productsPOST /products/_bulk
{ "index": { "_id": 1 }}
{ "price" : 10,"avaliable":true,"date":"2018-01-01", "productID" : "XHDK-A-1293-#fJ3" }
{ "index": { "_id": 2 }}
{ "price" : 20,"avaliable":true,"date":"2019-01-01", "productID" : "KDKE-B-9947-#kL5" }
{ "index": { "_id": 3 }}
{ "price" : 30,"avaliable":true, "productID" : "JODL-X-1937-#pV7" }
{ "index": { "_id": 4 }}
{ "price" : 30,"avaliable":false, "productID" : "QQPX-R-3956-#aD8" }# 基本语法
POST /products/_search
{"query": {"bool" : {"must" : {"term" : { "price" : "30" }},"filter": {"term" : { "avaliable" : "true" }},"must_not" : {"range" : {"price" : { "lte" : 10 }}},"should" : [{ "term" : { "productID.keyword" : "JODL-X-1937-#pV7" } },{ "term" : { "productID.keyword" : "XHDK-A-1293-#fJ3" } }],"minimum_should_match" :1}}
}# 改变数据模型,增加字段。解决数组包含而不是精确匹配的问题
POST /newmovies/_bulk
{ "index": { "_id": 1 }}
{ "title" : "Father of the Bridge Part II","year":1995, "genre":"Comedy","genre_count":1 }
{ "index": { "_id": 2 }}
{ "title" : "Dave","year":1993,"genre":["Comedy","Romance"],"genre_count":2 }# must,有算分
POST /newmovies/_search
{"query": {"bool": {"must": [{"term": {"genre.keyword": {"value": "Comedy"}}},{"term": {"genre_count": {"value": 1}}}]}}
}# Filter。不参与算分,结果的score是0
POST /newmovies/_search
{"query": {"bool": {"filter": [{"term": {"genre.keyword": {"value": "Comedy"}}},{"term": {"genre_count": {"value": 1}}}]}}
}# Filtering Context
POST _search
{"query": {"bool" : {"filter": {"term" : { "avaliable" : "true" }},"must_not" : {"range" : {"price" : { "lte" : 10 }}}}}
}# Query Context
POST /products/_bulk
{ "index": { "_id": 1 }}
{ "price" : 10,"avaliable":true,"date":"2018-01-01", "productID" : "XHDK-A-1293-#fJ3" }
{ "index": { "_id": 2 }}
{ "price" : 20,"avaliable":true,"date":"2019-01-01", "productID" : "KDKE-B-9947-#kL5" }
{ "index": { "_id": 3 }}
{ "price" : 30,"avaliable":true, "productID" : "JODL-X-1937-#pV7" }
{ "index": { "_id": 4 }}
{ "price" : 30,"avaliable":false, "productID" : "QQPX-R-3956-#aD8" }# should
POST /products/_search
{"query": {"bool": {"should": [{"term": {"productID.keyword": {"value": "JODL-X-1937-#pV7"}}},{"term": {"avaliable": {"value": true}}}]}}
}# 嵌套,实现了 should not 逻辑
# minimum_should_match: 指定了至少应该匹配的 should 子句数量。
#                       在这里,设置为 1 表示至少需要有一个 should 子句匹配成功。
POST /products/_search
{"query": {"bool": {"must": {"term": {"price": "30"}},"should": [{"bool": {"must_not": {"term": {"avaliable": "false"}}}}],"minimum_should_match": 1}}
}# Controll the Precision
# minimum_should_match 2 匹配出数数据,1可以匹配出一条数据
POST _search
{"query": {"bool" : {"must" : {"term" : { "price" : "30" }},"filter": {"term" : { "avaliable" : "true" }},"must_not" : {"range" : {"price" : { "lte" : 10 }}},"should" : [{ "term" : { "productID.keyword" : "JODL-X-1937-#pV7" } },{ "term" : { "productID.keyword" : "XHDK-A-1293-#fJ3" } }],"minimum_should_match" :2}}
}POST /animals/_search
{"query": {"bool": {"should": [{ "term": { "text": "brown" }},{ "term": { "text": "red" }},{ "term": { "text": "quick" }},{ "term": { "text": "dog" }}]}}
}POST /animals/_search
{"query": {"bool": {"should": [{ "term": { "text": "quick" }},{ "term": { "text": "dog"   }},{"bool":{"should":[{ "term": { "text": "brown" }},{ "term": { "text": "brown" }}]}}]}}
}DELETE blogsPOST /blogs/_bulk
{ "index": { "_id": 1 }}
{"title":"Apple iPad", "content":"Apple iPad,Apple iPad" }
{ "index": { "_id": 2 }}
{"title":"Apple iPad,Apple iPad", "content":"Apple iPad" }POST blogs/_search
{"query": {"bool": {"should": [{"match": {"title": {"query": "apple,ipad","boost": 1.1}}},{"match": {"content": {"query": "apple,ipad","boost":0}}}]}}
}DELETE newsPOST /news/_bulk
{ "index": { "_id": 1 }}
{ "content":"Apple Mac" }
{ "index": { "_id": 2 }}
{ "content":"Apple iPad" }
{ "index": { "_id": 3 }}
{ "content":"Apple employee like Apple Pie and Apple Juice" }POST news/_search
{"query": {"bool": {"must": {"match":{"content":"apple"}}}}
}POST news/_search
{"query": {"bool": {"must": {"match":{"content":"apple"}},"must_not": {"match":{"content":"pie"}}}}
}POST news/_search
{"query": {"boosting": {"positive": {"match": {"content": "apple"}},"negative": {"match": {"content": "pie"}},"negative_boost": 0.5}}
}DELETE products
DELETE newmovies
DELETE animals
DELETE blogs
DELETE news

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

相关文章

参数N9010A信号分析仪KEYSIGHT N9010B进口原装二手

安捷伦Agilent N9010A频谱信号分析仪,作为一款业界领先的测试测量设备,它以其卓越的性能、广泛的应用领域以及高度的可靠性,在电子工程、通信研发、无线电监测等多个领域内扮演着举足轻重的角色。 这款频谱信号分析仪采用了先进的数字信号处理…

C#结合JS解决Word添加无效位图导致进程停滞的问题

目录 故障现象 解决步骤 开发运行环境 关键代码 呈现图片到客户端 重绘图像 后端处理 小结 故障现象 最近在使用Word导出简历的时候,发现在导出某些简历数据的时候,服务器端 WORD 进程停滞,页面无响应。最后发现问题发生在使用 Word…

海量数据迁移:Elasticsearch到OpenSearch的无缝迁移策略与实践

文章目录 一.迁移背景二.迁移分析三.方案制定3.1 使用工具迁移3.2 脚本迁移 四.方案建议 一.迁移背景 目前有两个es集群,版本为5.2.2和7.16.0,总数据量为700T。迁移过程需要不停服务迁移&#…

【青牛科技】D1084 5A低压差电压调整器应用方案

1、 概述: D1084是一款具有5A输出能力、低压差为1.5V的三端稳压器。输出电压可通过电位器调节或1.5V, 1.8V, 3.3V三个固定电压版。内含电流限制和热保护功能,防止任何过载时产生过高的结温。D1084系列电路有标准TO-220、TO-263和TO-252封装形式。 2、 典…

IDEA在编译时: java: 找不到符号符号: 变量 log

一、问题 IDEA在编译的时候报Error:(30, 17) java: 找不到符号符号: 变量 log Error:(30, 17) java: 找不到符号 符号: 变量 log 位置: 类 com.mokerson.rabbitmq.config.RabbitMqConfig 二、解决方案 背景:下载其他同事代码时,第一次运行&#xff0c…

sub标签没起作用

sub标签浏览器的内置样式是 sup{vertical-align:super; }由于项目里被 reset.css重置了导致没起作用&#xff0c;需要重写。<sup style"vertical-align:super">2</sup>

wordpress判断page页与非page页

在WordPress中&#xff0c;你可以使用is_page()函数来判断当前页面是否为page类型。以下是如何使用这个函数的示例&#xff1a; <?php if (is_page()) {// 当前页面是page类型echo 这是一个Page页面; } else {// 当前页面不是page类型echo 这不是一个Page页面; } ?> …

无人机场景数据集大全「包含数据标注+划分脚本+训练脚本」 (持续原地更新)

一、作者介绍&#xff1a;六年算法开发经验、AI 算法经理、阿里云专家博主。擅长&#xff1a;检测、分割、理解、AIGC 等算法训练与推理部署任务。 二、数据集介绍&#xff1a; 质量高&#xff1a;高质量图片、高质量标注数据&#xff0c;使用 labelimg 软件吐血标注、整理&…