创建一个索引如下:其中commodity_name为text类型,picture_url为keyword类型。
{
"my_index" : {
"aliases" : { },
"mappings" : {
"properties" : {
"commodity_id" : {
"type" : "long"
},
"commodity_name" : {
"type" : "text"
},
"picture_url" : {
"type" : "keyword"
},
"price" : {
"type" : "double"
}
}
},
"settings" : {
"index" : {
"creation_date" : "1572420862562",
"number_of_shards" : "1",
"number_of_replicas" : "1",
"uuid" : "Sz11OKEMQg6C4MownV3o3Q",
"version" : {
"created" : "7020099"
},
"provided_name" : "my_index"
}
}
}
}
插入6条测试数据:
{
"_index" : "my_index",
"_type" : "_doc",
"_id" : "Li-WG24BAXR47oVqXbTZ",
"_score" : 1.0,
"_source" : {
"commodity_id" : 1,
"commodity_name" : "123rsfsdfdfasf",
"picture_url" : "aaaa",
"price" : "32.01"
}
},
{
"_index" : "my_index",
"_type" : "_doc",
"_id" : "8knbIG4BMlNdk8PKBfI5",
"_score" : 1.0,
"_source" : {
"commodity_id" : 1,
"commodity_name" : "中国深圳",
"picture_url" : "中国",
"price" : "32.01"
}
},
{
"_index" : "my_index",
"_type" : "_doc",
"_id" : "80nhIG4BMlNdk8PK2_IY",
"_score" : 1.0,
"_source" : {
"commodity_id" : 1,
"commodity_name" : "杭州中国",
"picture_url" : "中国",
"price" : "32.01"
}
},
{
"_index" : "my_index",
"_type" : "_doc",
"_id" : "9EniIG4BMlNdk8PKqvJ5",
"_score" : 1.0,
"_source" : {
"commodity_id" : 1,
"commodity_name" : "中间",
"picture_url" : "中国",
"price" : "32.01"
}
},
{
"_index" : "my_index",
"_type" : "_doc",
"_id" : "9UnjIG4BMlNdk8PKe_Lo",
"_score" : 1.0,
"_source" : {
"commodity_id" : 1,
"commodity_name" : "中华",
"picture_url" : "中华",
"price" : "32.01"
}
},
{
"_index" : "my_index",
"_type" : "_doc",
"_id" : "9knyIG4BMlNdk8PKCvKF",
"_score" : 1.0,
"_source" : {
"commodity_id" : 1,
"commodity_name" : "中间国家",
"picture_url" : "中华",
"price" : "32.01"
}
}
当执行 "term":{ "commodity_name":"中国深圳" }时,结果为空。说明text不支持精确查询。
当执行 "term":{ "picture_url":"中国" }时,结果为有3条数据。说明keyword支持精确查询。
当执行 "match":{ "commodity_name":"中国深圳" }时,结果将commodity_name中包含‘中’,‘国’,‘深’,‘圳’四个字的数据全查出来
说明text支持模糊查询,且会进行分词操作。
当执行 "match":{ "picture_url":"中" }时,结果为空,说明keyword不支持模糊查询,且不支持分词操作。