elasticsearch 資料認識 與 資料表\文件 的增刪改查
阿新 • • 發佈:2020-08-17
【Elasticsearch 7.8.1】當前版本
新建 mingduhui 的資料庫 \ 檢索庫 向其中新增表 操作如下
PUT /mingduhui/_mapping/goods { "properties": { "id": { "type": "long", "store": true, }, "title": {"type": "text", "store": true, "index":true, "analyzer":"standard" }, "content": { "type": "text", "store": true, "index":true, "analyzer":"standard" } } }
執行結果如下: 報錯
出現問題的原因:在ES7中,不推薦使用對映型別,這會導致此問題的根源發生重大變化。ES團隊宣佈了棄用,路線圖和替代方案。
解決方式:
方式一:刪除對對映型別的所有引用(在此示例中為“article”)
方式二:平滑過渡到ES7的另一個臨時解決方案是包含?include_type_name=true在URL中。
新增 指定關鍵 引數 如下提交請求
PUT /mingduhui/_mapping/goods?include_type_name=true { "properties": { "id": { "type": "long", "store": true, }, "title": { "type": "text", "store": true, "index":true, "analyzer":"standard" }, "content": { "type": "text", "store": true, "index":true, "analyzer":"standard" } } }
結果任然報錯。
解決方式:把“index”的值全部改為true/false
指定index true
資料型別 keyword 為關鍵詞 不可以進行分詞
PUT /mingduhui/_mapping/goods?include_type_name=true
{
"properties": {
"id": {
"type": "long",
"store": true,
"index":true
},
"title": {
"type": "text",
"store": true,
"index":true,
"analyzer":"standard"
},
"subtitle": {
"type": "text",
"store": true,
"index":true,
"analyzer":"ik_max_word"
},
"images": {
"type": "keyword",
"index":true
},
"content": {
"type": "text",
"store": true,
"index":true,
"analyzer":"standard"
}
}
}
執行結果: 成功
GET mingduhui
檢視 mingduhui的資訊,我們剛剛的操作就已經完成了
- mingduhui:索引庫名稱
- mapping:type名稱
- goods:文件ID,並不是下面的id屬性值
向 剛剛新建檢索表中插入資料
POST /mingduhui/goods/1 { "id":1, "title":"【標題】這是一件出眾的衣服", "subtitle":"【副標題】描述這個商品的一些細節", "images":"【圖片】商品圖片地址", "content":"【富文字】商品詳情描述類容" }
2丶更改指定索引文件
POST /mingduhui/goods/2 { "id":2, "title":"【標題】這是一件出眾的衣服", "subtitle":"【副標題】222描述這個商品的一些細節", "images":"【圖片】222商品圖片地址", "content":"【富文字】222商品詳情描述類容" }
3丶刪除檔案
在我們mingduhui 檢索庫中 的goods檢索表中 有兩個 檢索文件。分別為1 和2。
DELETE /mingduhui/goods/1
//刪除 1的 檢索文件。 操作完成