QueryDSL如下:
{
"query": {
"bool": {
"must": [
{
"term": {
"category_id": "7"
}
},
{
"term": {
"enable": 1
}
},
{
"term": {
"status": 2
}
},
{
"range": {
"stock": {
"gt": 0
}
}
},
{
"match": {
"search_field": {
"query": "关键词",
"analyzer": "ik"
}
}
}
]
}
},
"size": 40,
"from": 0
}
如果没有match
,所有的条件都为AND
,是没有问题的,问题是只要加上search_field
的关键词搜索,上面的条件就都被忽略掉了…… 应该使用什么方法?
你的索引里有search_field这个字段么?
我结合我们的业务写了一个
是得到结果了的