Elasticsearch search

查询

{
    "query": {
        // 模糊查询(多个词使用空格隔开,会使用分词器)
        "match": {
            "name": "哈哈哈"
        },
        // 精确查询
        "term": {
            "age": 2
        },
        // 布尔查询
        "bool": {
            // must must_not should, filter(and not or 过滤)
            "must": [
                {
                    "match": {
                        "name": "哈哈哈"
                    }
                },
                {
                    "match": {
                        "age": 3
                    }
                }
            ],
            "filter": {
                "range": {
                    "age": {
                        "lt": 10,
                        "gt": 10,
                        "lte": 10,
                        "gte": 10,
                    }
                }
            }
        }
    },
    "_source": ["name", "desc"],
    "sort": [
        {
            "age": {
                "order": "desc"
            }
        }
    ],
    "from": 0,
    "size": 20,
    // 高亮 pre_rags,post_tags 也可以不写,默认是em
    "highlight": {
        "pre_tags": "<b class='xxx'>",
        "post_tags": "<p/>",
        "fields": {
            "name": {}
        }
    }
}