可以使用如下的 terms 查询: json GET /my_index/_search { "query": { "terms": { "color": ["blue", "green"] } } } terms 查询的应用场景 多值匹配:当你需要匹配一个字段的多个可能值时,可以使用 terms 查询。 性能优化:在某些情况下,使用 terms 查询可能比多个 term 查询的组合
GET /_search { "query": { "bool": { "must": { "bool": { "should": [ { "term": { "body": "nelly"}}, { "term": { "body": "elephant"}}, { "term": { "body": "cartoon"}} ], "minimum_should_match": 2 } }, "should": [ { "term": { "body": "the"}}, {...
{"query": {"terms": {"{FIELD}": ["{VALUE1}","{VALUE2}"] } } } 说明: {FIELD} - 就是我们需要匹配的字段名 {VALUE1}, {VALUE2} ... {VALUE N} - 就是我们需要匹配的内容,除了TEXT类型字段以外的任意类型。 例子: GET /order_v2/_search {"query": {"terms": {"shop_id": [123,...
"query": { "term": { "name": { "value":"王五" } } } } 2. terms 查询 terms和term查询机制是一样的,都不会对指定关键字进行分词,直接去分词库中匹配,找到相应的文档内容。 terms是针对一个字段包含多个值的时候使用。 term:where name = 张三 terms:where name = 张三 or name = 李四 or nam...
"label":["blue","Vivo"]} # 查询ad字段包含red或者blue值的文档 GET /ad/_search { "query":{ "terms":{ "ad":["red","blue"]} } } # 输出结果 { "took":29,"timed_out":false,"_shards":{ "total":1,"successful":1,"skipped":0,"failed":0 },"hits":{ "total":{ "value":2...
# 新增文档 PUT /ad/_doc/5 { "name":"Vivo", "price":2999, "color":"blue", "ad":"this is a blue phone", "label":[ "blue", "Vivo" ] } # 查询ad字段包含red或者blue值的文档 GET /ad/_search { "query":{ "terms":{ "ad":[ "red", "blue" ] } } } # 输出结果 { "too...
terms是在针对一个字段包含多个值的时候使用。 term: where province = 江苏 terms: where province = 江苏 or province = ? or province = ? Restful # terms 查询 POST /sms-logs-index/_search { "query":{ "terms": { "province": [ "江苏", "上海" ] } } } Java @Test void termsQuery()...
terms 查询 返回指定的字段中包含一个或多个确切的词的文档。 除了可以搜索多个值,terms 查询和 term 查询一样。 请求示例 下面这个搜索返回 user 字段包含kimchy或elasticsearch的文档。 GET /_search { "query" : { "terms" : { "user" : ["kimchy", "elasticsearch"], "boost" : 1.0 } } }...
在TermInSetQuery中,我们发现lucene还做了一个优化,当terms中term的个数小于16个时候,会将terms的查询转化为bool的should查询,直接合并倒排链可能比上面的构建bitSet会更快,可以用到RoaringDocIdSet的各种优化。这里也给了一些优化的灵感。 综上,整个TermInSetQuery中构建DocIdSet的核心查询流程流程为: 那么,为什么有...
term查询只能用于匹配该属性的单个值,若想匹配多个值,可以用terms查询 基本语法 GET /{index}/_search {"query": {"terms": {"{field}": ["{value1}","{value2}","{value3}"] } } } AI代码助手复制代码 Java写法 SearchRequestsearchRequest=newSearchRequest("index");SearchSourceBuildersearchSourceBui...