一、多列搜索查询
{
"query": {
"multi_match": {
"query": "马可菠萝",
"fields":["desc","nickname"]
}
}
}
nickname": "大菠萝" 的与desc的 马“可波罗来中国历险” 都搜索出来了。
权重的提升:乘以10,提高某一个字段的权重。
{
"query": {
"multi_match": {
"query": "马可菠萝",
"fields":["desc","nickname^10"]
}
}
}
二、must mustnot(取反,一定不要包含) should (或)bool------------也可以在head插件操作
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "马可菠萝",
"fields": [
"desc",
"nickname"
]
}
},
{
"term": {
"sex": 0
}
}
]
}
}
}
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "马可菠萝",
"fields": [
"desc",
"nickname"
]
}
},
{
"term": {
"sex": 1
}
},
{
"term": {
"birthday": "1992-12-24"
}
}
]
}
}
}
三 must_not
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "马可菠萝",
"fields": [
"desc",
"nickname"
]
}
},
{
"term": {
"sex": 0
}
}
],
"must_not":[
{
"term": {
"birthday": "1992-12-25"
}
}
]
}
}
}
搜索出来在结果,把最后的日期修改一下。可发现最初的一条记录没有了。
四、加权重
{
"query": {
"bool": {
"should": [
{
"match": {
"desc": {
"query": "马可菠萝",
"boost": 2
}
}
},
{
"match": {
"desc": {
"query": "大学",
"boost": 10
}
}
}
]
}
}
}
加权重之后,有大学的分数立马上去了。