本文為您介紹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
}