es的_search,有很多用途
普通获取列表
"query": { "match_all": {} },
"from": (page - 1) * 20,
"size": 20
查询关键字,并带条件
"query": {
"bool":{#bool里面需要must,should,filter搭配
"must": [ # must进行查询,并打分
#搜索关键词
#match_phrase默认需要关键词都没有间隔,比如搜儿童口罩,就不能匹配儿童医用口罩
#所以加上slop,就是允许字词间隔数量
{
"match_phrase": {
field: {
"query": keyword,
"slop": 50
}
}
},
],
"filter": [ # filter是进行筛选,不打分
{"range": {"price":{"gte":10}}}#区间>=
{"term": {"mall":2}}#精确=
]
}
},
类似商品
"query": {
"bool":{#bool里面需要must,should,filter搭配
"must":[#must进行查询,并打分
{"more_like_this": {
"fields": ["title"],
"like": text,
"min_term_freq": 1,
"max_query_terms": 12
},
}
],
"filter":[#filter是进行筛选,不打分
{"term": filter_term}
]
}
},
网友评论