1. 程式人生 > 實用技巧 >elasticsearch 資料認識 與 資料表\文件 的增刪改查

elasticsearch 資料認識 與 資料表\文件 的增刪改查

【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的 檢索文件。 操作完成