本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文为您介绍ES常见版本操作索引的示例。
示例数据
为便于理解操作,本文为您提供示例数据,基于示例数据提供相关操作指引。
{
"products": [
{
"productName": "理财产品A",
"annual_rate": "3.2200%",
"describe": "180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送"
},
{
"productName": "理财产品B",
"annual_rate": "3.1100%",
"describe": "90天定投产品,最低10000起投,每天收益到账消息推送"
},
{
"productName": "理财产品C",
"annual_rate": "3.3500%",
"describe": "270天定投产品,最低40000起投,每天收益立即到账消息推送"
},
{
"productName": "理财产品D",
"annual_rate": "3.1200%",
"describe": "90天定投产品,最低12000起投,每天收益到账消息推送"
},
{
"productName": "理财产品E",
"annual_rate": "3.0100%",
"describe": "30天定投产品推荐,最低8000起投,每天收益会消息推送"
},
{
"productName": "理财产品F",
"annual_rate": "2.7500%",
"describe": "热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息"
}
]
}
创建索引
创建一个名称为product_info的索引:
7.0及以上版本
PUT /product_info
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"productName": {
"type": "text",
"analyzer": "ik_smart"
},
"annual_rate":{
"type":"keyword"
},
"describe": {
"type": "text",
"analyzer": "ik_smart"
}
}
}
}
7.0及以下版本
PUT /product_info
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"products": {
"properties": {
"productName": {
"type": "text",
"analyzer": "ik_smart"
},
"annual_rate":{
"type":"keyword"
},
"describe": {
"type": "text",
"analyzer": "ik_smart"
}
}
}
}
}
重要
官方Elasticsearch 7.0及以上版本将移除映射中的type类型定义,之前版本会继续支持。如果在7.0及以上版本中使用了type,会出现"type": "mapper_parsing_exception"
的错误提示。详细信息及解决方案,请参见Removal of mapping types。
创建成功后,返回结果如下。
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "product_info"
}
创建文档并插入数据
8.x版本
POST /product_info/_bulk
{"index":{}}
{"productName":"理财产品A","annual_rate":"3.2200%","describe":"180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送"}
{"index":{}}
{"productName":"理财产品B","annual_rate":"3.1100%","describe":"90天定投产品,最低10000起投,每天收益到账消息推送"}
{"index":{}}
{"productName":"理财产品C","annual_rate":"3.3500%","describe":"270天定投产品,最低40000起投,每天收益立即到账消息推送"}
{"index":{}}
{"productName":"理财产品D","annual_rate":"3.1200%","describe":"90天定投产品,最低12000起投,每天收益到账消息推送"}
{"index":{}}
{"productName":"理财产品E","annual_rate":"3.0100%","describe":"30天定投产品推荐,最低8000起投,每天收益会消息推送"}
{"index":{}}
{"productName":"理财产品F","annual_rate":"2.7500%","describe":"热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息"}
7.x版本
POST /product_info/_doc/_bulk
{"index":{}}
{"productName":"理财产品A","annual_rate":"3.2200%","describe":"180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送"}
{"index":{}}
{"productName":"理财产品B","annual_rate":"3.1100%","describe":"90天定投产品,最低10000起投,每天收益到账消息推送"}
{"index":{}}
{"productName":"理财产品C","annual_rate":"3.3500%","describe":"270天定投产品,最低40000起投,每天收益立即到账消息推送"}
{"index":{}}
{"productName":"理财产品D","annual_rate":"3.1200%","describe":"90天定投产品,最低12000起投,每天收益到账消息推送"}
{"index":{}}
{"productName":"理财产品E","annual_rate":"3.0100%","describe":"30天定投产品推荐,最低8000起投,每天收益会消息推送"}
{"index":{}}
{"productName":"理财产品F","annual_rate":"2.7500%","describe":"热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息"}
说明
7.10版本同时支持ES7及ES8的插入数据语法。
7.0以下版本
POST /product_info/products/_bulk
{"index":{}}
{"productName":"理财产品A","annual_rate":"3.2200%","describe":"180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送"}
{"index":{}}
{"productName":"理财产品B","annual_rate":"3.1100%","describe":"90天定投产品,最低10000起投,每天收益到账消息推送"}
{"index":{}}
{"productName":"理财产品C","annual_rate":"3.3500%","describe":"270天定投产品,最低40000起投,每天收益立即到账消息推送"}
{"index":{}}
{"productName":"理财产品D","annual_rate":"3.1200%","describe":"90天定投产品,最低12000起投,每天收益到账消息推送"}
{"index":{}}
{"productName":"理财产品E","annual_rate":"3.0100%","describe":"30天定投产品推荐,最低8000起投,每天收益会消息推送"}
{"index":{}}
{"productName":"理财产品F","annual_rate":"2.7500%","describe":"热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息"}
返回结果中包含"errors" : false
,说明数据插入成功。
搜索数据
8.x版本
全文搜索
GET /product_info/_search { "query": { "match": { "describe": "每天收益到账消息推送" } } }
搜索成功返回如下:
{ "took": 15, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 6, "relation": "eq" }, "max_score": 2.41246, "hits": [ { "_index": "product_info", "_id": "pgAGQZgB5J6iFDPOX2QN", "_score": 2.41246, "_source": { "productName": "理财产品B", "annual_rate": "3.1100%", "describe": "90天定投产品,最低10000起投,每天收益到账消息推送" } }, { "_index": "product_info", "_id": "pwAGQZgB5J6iFDPOX2QN", "_score": 2.343423, "_source": { "productName": "理财产品C", "annual_rate": "3.3500%", "describe": "270天定投产品,最低40000起投,每天收益立即到账消息推送" } }, { "_index": "product_info", "_id": "qAAGQZgB5J6iFDPOX2QN", "_score": 1.7260926, "_source": { "productName": "理财产品D", "annual_rate": "3.1200%", "describe": "90天定投产品,最低12000起投,每天收益到账消息推送" } }, { "_index": "product_info", "_id": "qQAGQZgB5J6iFDPOX2QN", "_score": 0.9649055, "_source": { "productName": "理财产品E", "annual_rate": "3.0100%", "describe": "30天定投产品推荐,最低8000起投,每天收益会消息推送" } }, { "_index": "product_info", "_id": "pQAGQZgB5J6iFDPOX2QN", "_score": 0.8630463, "_source": { "productName": "理财产品A", "annual_rate": "3.2200%", "describe": "180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送" } }, { "_index": "product_info", "_id": "qgAGQZgB5J6iFDPOX2QN", "_score": 0.19178316, "_source": { "productName": "理财产品F", "annual_rate": "2.7500%", "describe": "热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息" } } ] } }
按查询条件搜索
搜索年化率在3.0000%到3.1300%之间的产品。
GET /product_info/_search { "query": { "range": { "annual_rate": { "gte": "3.0000%", "lte": "3.1300%" } } } }
搜索成功返回如下:
{ "took": 14, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 3, "relation": "eq" }, "max_score": 1, "hits": [ { "_index": "product_info", "_id": "qAAGQZgB5J6iFDPOX2QN", "_score": 1, "_source": { "productName": "理财产品D", "annual_rate": "3.1200%", "describe": "90天定投产品,最低12000起投,每天收益到账消息推送" } }, { "_index": "product_info", "_id": "pgAGQZgB5J6iFDPOX2QN", "_score": 1, "_source": { "productName": "理财产品B", "annual_rate": "3.1100%", "describe": "90天定投产品,最低10000起投,每天收益到账消息推送" } }, { "_index": "product_info", "_id": "qQAGQZgB5J6iFDPOX2QN", "_score": 1, "_source": { "productName": "理财产品E", "annual_rate": "3.0100%", "describe": "30天定投产品推荐,最低8000起投,每天收益会消息推送" } } ] } }
更多搜索方式,请参见Query DSL。
7.x版本
全文搜索
GET /product_info/_doc/_search { "query": { "match": { "describe": "每天收益到账消息推送" } } }
搜索成功返回如下:
{ "took" : 19, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 3, "relation" : "eq" }, "max_score" : 1.0, "hits" : [ { "_index" : "product_info", "_type" : "_doc", "_id" : "gC9RUJgBDC_Ir7OTV2QD", "_score" : 1.0, "_source" : { "productName" : "理财产品D", "annual_rate" : "3.1200%", "describe" : "90天定投产品,最低12000起投,每天收益到账消息推送" } }, { "_index" : "product_info", "_type" : "_doc", "_id" : "fi9RUJgBDC_Ir7OTV2QD", "_score" : 1.0, "_source" : { "productName" : "理财产品B", "annual_rate" : "3.1100%", "describe" : "90天定投产品,最低10000起投,每天收益到账消息推送" } }, { "_index" : "product_info", "_type" : "_doc", "_id" : "gS9RUJgBDC_Ir7OTV2QD", "_score" : 1.0, "_source" : { "productName" : "理财产品E", "annual_rate" : "3.0100%", "describe" : "30天定投产品推荐,最低8000起投,每天收益会消息推送" } } ] } }
按查询条件搜索
搜索年化率在3.0000%到3.1300%之间的产品。
GET /product_info/_doc/_search { "query": { "range": { "annual_rate": { "gte": "3.0000%", "lte": "3.1300%" } } } }
搜索成功返回如下:
{ "took" : 5, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 3, "relation" : "eq" }, "max_score" : 1.0, "hits" : [ { "_index" : "product_info", "_type" : "_doc", "_id" : "gC9RUJgBDC_Ir7OTV2QD", "_score" : 1.0, "_source" : { "productName" : "理财产品D", "annual_rate" : "3.1200%", "describe" : "90天定投产品,最低12000起投,每天收益到账消息推送" } }, { "_index" : "product_info", "_type" : "_doc", "_id" : "fi9RUJgBDC_Ir7OTV2QD", "_score" : 1.0, "_source" : { "productName" : "理财产品B", "annual_rate" : "3.1100%", "describe" : "90天定投产品,最低10000起投,每天收益到账消息推送" } }, { "_index" : "product_info", "_type" : "_doc", "_id" : "gS9RUJgBDC_Ir7OTV2QD", "_score" : 1.0, "_source" : { "productName" : "理财产品E", "annual_rate" : "3.0100%", "describe" : "30天定投产品推荐,最低8000起投,每天收益会消息推送" } } ] } }
说明
7.10版本同时支持ES7及ES8的查询数据语法。
更多搜索方式,请参见Query DSL。
7.0以下版本
全文搜索
GET /product_info/products/_search { "query": { "match": { "describe": "每天收益到账消息推送" } } }
搜索成功返回如下:
{ "took" : 21, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 6, "max_score" : 2.6264062, "hits" : [ { "_index" : "product_info", "_type" : "products", "_id" : "J8YIQZgBMhABkprCeWXb", "_score" : 2.6264062, "_source" : { "productName" : "理财产品B", "annual_rate" : "3.1100%", "describe" : "90天定投产品,最低10000起投,每天收益到账消息推送" } }, { "_index" : "product_info", "_type" : "products", "_id" : "KcYIQZgBMhABkprCeWXb", "_score" : 1.489365, "_source" : { "productName" : "理财产品D", "annual_rate" : "3.1200%", "describe" : "90天定投产品,最低12000起投,每天收益到账消息推送" } }, { "_index" : "product_info", "_type" : "products", "_id" : "KMYIQZgBMhABkprCeWXb", "_score" : 1.4445845, "_source" : { "productName" : "理财产品C", "annual_rate" : "3.3500%", "describe" : "270天定投产品,最低40000起投,每天收益立即到账消息推送" } }, { "_index" : "product_info", "_type" : "products", "_id" : "K8YIQZgBMhABkprCeWXb", "_score" : 0.5753642, "_source" : { "productName" : "理财产品F", "annual_rate" : "2.7500%", "describe" : "热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息" } }, { "_index" : "product_info", "_type" : "products", "_id" : "JsYIQZgBMhABkprCeWXb", "_score" : 0.5469647, "_source" : { "productName" : "理财产品A", "annual_rate" : "3.2200%", "describe" : "180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送" } }, { "_index" : "product_info", "_type" : "products", "_id" : "KsYIQZgBMhABkprCeWXb", "_score" : 0.53964466, "_source" : { "productName" : "理财产品E", "annual_rate" : "3.0100%", "describe" : "30天定投产品推荐,最低8000起投,每天收益会消息推送" } } ] } }
按查询条件搜索
搜索年化率在3.0000%到3.1300%之间的产品。
GET /product_info/products/_search { "query": { "range": { "annual_rate": { "gte": "3.0000%", "lte": "3.1300%" } } } }
搜索成功返回如下:
{ "took" : 15, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 3, "max_score" : 1.0, "hits" : [ { "_index" : "product_info", "_type" : "products", "_id" : "J8YIQZgBMhABkprCeWXb", "_score" : 1.0, "_source" : { "productName" : "理财产品B", "annual_rate" : "3.1100%", "describe" : "90天定投产品,最低10000起投,每天收益到账消息推送" } }, { "_index" : "product_info", "_type" : "products", "_id" : "KcYIQZgBMhABkprCeWXb", "_score" : 1.0, "_source" : { "productName" : "理财产品D", "annual_rate" : "3.1200%", "describe" : "90天定投产品,最低12000起投,每天收益到账消息推送" } }, { "_index" : "product_info", "_type" : "products", "_id" : "KsYIQZgBMhABkprCeWXb", "_score" : 1.0, "_source" : { "productName" : "理财产品E", "annual_rate" : "3.0100%", "describe" : "30天定投产品推荐,最低8000起投,每天收益会消息推送" } } ] } }
更多搜索方式,请参见Query DSL。
删除索引
了解了阿里云Elasticsearch的使用方法后,您可以执行如下命令,删除对应索引,避免浪费资源。
警告
索引删除后不可恢复,请谨慎操作。
DELETE /product_info
删除成功后,返回如下结果。
{
"acknowledged" : true
}
该文章对您有帮助吗?