elasticsearch常用查询语法

match

会进行全文匹配

{
    "query" : {
        "match": {
            "<field_name>": "<field_value>"
        }
    }
}

constant_score

{
    "query": {
        "constant_score": {
            "filter": {
                "match": {
                    "<field_name>": "<field_value>"
                }
            },
            "boost": 2
        }
    }
}

should

两个条件是 or 的关系

{
    "query": {
        "bool": {
            "should": [
                {
                    "match": {
                        "<field1_name>": "<field1_value>"
                    }
                },
                {
                    "match": {
                        "<field2_name>": "<field2_value>"
                    }
                }
            ]
        }
    }
}

must

可搭配 filter 进行过滤

{
    "query": {
        "bool": {
            "must": [
                {
                    "match": {
                        "<field1_name>": "<field1_value>"
                    }
                },
                {
                    "match": {
                        "<field2_name>": "<field2_value>"
                    }
                }
            ],
            "filter": [
                {
                    "term": {
                        "<field3_name>": "<field3_value>"
                    }
                }
            ]
        }
    }
}

must_not

{
    "query": {
        "bool": {
            "must_not": {
                "term": {
                    "author": "瓦力"
                }
            }
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容