先说结论:
term、terms只作用于keyword类型字段,不作用text类型(要使用match查询);
term、terms都代表字段全等匹配,意思是搜索词和命中词是完全等匹,不是包含关系;
1、创建索引
person_name设置为keyword;query_name设置为text分词;
{
"person" : {
"mappings" : {
"dynamic_templates" : [
{
"message_full" : {
"match" : "message_full",
"mapping" : {
"fields" : {
"keyword" : {
"ignore_above" : 2048,
"type" : "keyword"
}
},
"type" : "text"
}
}
},
{
"message" : {
"match" : "message",
"mapping" : {
"type" : "text"
}
}
},
{
"strings" : {
"match_mapping_type" : "string",
"mapping" : {
"type" : "keyword"
}
}
}
],
"properties" : {
"person_name" : {
"type" : "keyword"
},
"query_name" : {
"type" : "text",
"analyzer" : "standard"
}
}
}
}
}
查询1文章来源:https://www.toymoban.com/news/detail-557829.html
GET person/_count
{
"query": {
"term": {
"person_name": {
"value": "Devin Gagon"
}
}
}
}
返回结果,命中三条
{
"count" : 3
}
查询2 文章来源地址https://www.toymoban.com/news/detail-557829.html
GET person/_count
{
"query": {
"term": {
"query_name": {
"value": "Devin Gagon"
}
}
}
}
查询结果
{
"count" : 0
}
到了这里,关于ES term terms 查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!