|NO.Z.00023|——————————|BigDataEnd|——|Hadoop&ElasticSearch.V23|——|ELK.v23|集群|QueryDSL|复合搜索|
一、复合搜索(compound query)
### --- 布尔搜索(bool query)
~~~ # bool 查询用bool操作来组合多个查询子句为一个查询。 可用的关键字:
~~~ must:必须满足
~~~ filter:必须满足,对集合包含/排除的简单检查,计算速度非常快,不参与、不影响评分
~~~ should:或
~~~ must_not:必须不满足,在filter上下文中执行,不参与、不影响评分
~~~ description中必须包含java,
~~~ price必须满足大于100小于1000,
~~~ name字段可以是lucene或者是solr中的一种即可,
~~~ 时间满足。。。。
POST /book/_search
{
"query": {
"bool" : {
"filter" : {
"match" : { "description" : "java" }
},
"must": [
{
"range" : {
"price" : { "gte" : 100, "lte" : 1000 }
}
},
{"bool": {
"should": [
{"term":{"name":"lucene"}},
{"term":{"name":"solr"}}
]
}}
],
"must_not": [
{
"range": {
"timestamp": {
"gte": "18/08/2020",
"lte": "2021",
"format": "dd/MM/yyyy||yyyy"
}
}
}
]
}
}
}

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
浙公网安备 33010602011771号