term
term 查询被用于精确值匹配,这些精确值可以时数字、日期、布尔值、未经过分析的字符串;term 查询对于输入的文本不分析,所以它将给定的值进行精确查询
GET http://localhost:9200/superz/_search
{
"query":{
"term":{
"age":27
}
}
}
GET http://localhost:9200/superz/_search
{
"query":{
"term":{
"k1":"v1"
}
}
}
GET http://localhost:9200/superz/_search
{
"query":{
"term":{
"k1":"hello elasticsearch"
}
}
}
terms
terms 查询和 term 查询是一样的,但它允许指定多值进行匹配。
如果这个字段包含了指定值中的任何一个值,那么这个文档满足条件和 term 查询一样,terms 查询对于输入的文本不分析。
GET http://localhost:9200/superz/_search
{
"query":{
"terms":{
"k1":["v1","v2","v3"]
}
}
}
match
match 查询可接收文字、数字、日期等数据类型
match 查询的时候,elasticsearch 会根据给定的字段提供合适的分词器,而 term 查询不会有分析器分析的过程
GET http://localhost:9200/superz/_search
{
"query": {
"match": {"name": "superz1"}
}
}
match_all
通过 match_all 查询,查询指定索引下的所有文档
GET http://localhost:9200/superz/_search
{
"query": {
"match_all": {}
}
}
match_phrase
<