1. prefix查询
前缀查询,可以通过一个关键字去指定一个field的前缀,从而查到指定的文档。
#测试--prefix查询 POST /king_test_person/_search { "query": { "prefix": { "name": { "value": "张" } } } }
2. fuzzy查询
模糊查询,输入字符的大概,ES就能根据输入的内容大概去匹配结果。#测试--fuzzy查询 POST /king_test_person/_search { "query": { "fuzzy": { "company": { "value": "盒马先生", "prefix_length": 2 #指定前几个字符不允许出现错误 } } } }
3. wildcard查询
通配查询,和mysql中的like类似,可以在查询时,在字符串中指定通配符*和占位符?。#测试--wildcard查询 POST /king_test_person/_search { "query": { "wildcard": { "company": { "value": "中国*" #可以使用*和?指定通配符和占位符 } } } }
4. range查询
范围查询,对某一个field进行大于或者小于的范围指定。 gt:> lt:< gte: >= lte:<=
#测试-range查询 POST /king_test_person/_search { "query": { "range": { "age": { "gte": 5, "lte": 20 } } } } #测试-range查询 POST /king_test_person/_search { "query": { "range": { "birthday": { "gte": "1991-01-01", "lte": "1993-01-01" } } } }
5. regexp查询
正则查询,通过编写的正则表达式去匹配内容。 prefix、fuzzy、wildcard、regexp 查询效率相对较低,要求效率比较高时,避免使用#测试--regexp查询 POST /king_test_person/_search { "query": { "regexp": { "phone": "135[0-9]{8}" #正则 } } }
标签:prefix,查询,range,query,test,fuzzy From: https://www.cnblogs.com/wq-blogs/p/17995717