有点舍近求远,放着官方的文档不看,跑去搜了好多,学的不明不白乱七八糟。
Elasticsearch: 权威指南 | Elastic (放个链接在这里,想要学习的点这个)。
查询表达式一个查询语句的典型结构:
{
QUERY_NAME: {
ARGUMENT: VALUE,
ARGUMENT: VALUE,...
}
}
如果是针对某个字段,那么它的结构如下:
{
QUERY_NAME: {
FIELD_NAME: {
ARGUMENT: VALUE,
ARGUMENT: VALUE,...
}
}
}
查询多个字段,类似于这样的,每隔字段分别对应一个值
GET /zsw-collection/_search
{
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{"term": {"collectionMode": {"value": 2}}},
{"term": {"collectionStatus": {"value": 2}}}
]
}
}
}
term 也可以替换成 should 、match 、range 之类的,总之就是用bool 加上 [ ] 查询多个
GET /zsw-collection/_search
{
"query": {
"bool": {
"filter": [
{
"bool": {
"must": {
"match": {
"collectionType": 1
}
}
}
},
{
"bool": {
"must": {
"match": {
"productCategory": 1
}
}
}
},
{
"bool": {
"must": {
"match": {
"terminalType": "1"
}
}
}
},
{
"bool": {
"must": {
"range": {
"CreatedAt": {
"gte": "2022-01-01",
"lte": "2022-03-03"
}
}
}
}
},
{
"bool": {
"must": {
"multi_match": {
"query": "公司",
"fields": [
"produceCompany",
"productName",
"title",
"terminalName"
]
}
}
}
}
]
}
}
}



