1. match查询 match查询属于高层查询,会根据查询内容不一样,采用不同的查询方式。
- 查询的内容如果是日期或者数值,会将你基于的字符串查询内容转换为日期或者数值对待;
- 如果查询的内容是一个不能被分词的内容(keyword),match查询不会将指定的关键字分词;
- 如果查询内容是一个可以被分词的内容(text),match会将指定的查询内容根据一定方式去分词,去分词库中匹配指定内容;
#测试--match查询:address字段是text类型,查询address包含成都市的数据 POST /king_test_person/_search { "query": { "match": { "address": "成都市" } } }
2. match_all查询 查询全部内容,不指定任何查询条件。
#测试--match_all查询 POST /king_test_person/_search { "from": 0, "size": 20, "query": { "match_all": {} } }
3.布尔match查询
基于一个field匹配的内容,采用and或者or的方式连接#测试--布尔match:查询address 包含四川省并且包含成都市的 POST /king_test_person/_search { "query": { "match": { "address": { "query": "四川省 成都市", "operator": "and" } } } } #测试--布尔match:查询address 包含四川省或者成都市 POST /king_test_person/_search { "query": { "match": { "address": { "query": "四川省 成都市", "operator": "or" } } } }4. multi_match查询 match真对一个field做检索,multi_match针对多个field进行检索,多个field对应一个text。
#测试--multi_match查询:查询address,introduce 匹配湖南省的数据 POST /king_test_person/_search { "query": { "multi_match": { "query": "湖南省", #指定text "fields": ["address","introduce"] #指定field列表 } } }标签:search,查询,field,elasticsearch,address,query,match From: https://www.cnblogs.com/wq-blogs/p/17995716