创建一个索引如下:其中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不支持模糊查询,且不支持分词操作。