在開發過程中,我們通常需要存儲一些JSON格式的文本數據,而Elasticsearch(以下簡稱 ES)是一個常用的高性能分布式搜索引擎,支持存儲和索引 JSON 文本,下面將介紹如何在 ES 中存儲 JSON 文本數據。
1. 創建索引
PUT /myindex { "mappings": { "properties": { "title": { "type": "text" }, "content": { "type": "text" }, "author": { "type": "keyword" }, "timestamp": { "type": "date" }, "tags": { "type": "keyword" } } } }
在 ES 中,數據是以索引的形式組織的。以上代碼中,我們創建了一個名為 myindex 的索引,并定義了一些字段,如 title、content、author、timestamp 和 tags。
2. 增加文檔
PUT /myindex/_doc/1 { "title": "Java編程思想", "content": "Java語言程序設計", "author": "Bruce Eckel", "timestamp": "2021-07-07T10:15:00", "tags": ["Java", "programming"] }
以上代碼表示在 myindex 索引中增加一篇文檔,其中 id 為 1,各字段的值如上所示。注意,我們使用了 _doc 類型,這是 ES 7.x 中的新類型,代替了舊的類型,如 _type。
3. 查詢數據
GET /myindex/_search?q=title:Java
以上代碼表示查詢 myindex 索引中 title 包含 “Java” 的文檔。ES 提供了豐富的查詢語法,可以滿足各種需求。
通過以上的步驟,我們已經實現了在 ES 中存儲 JSON 文本數據的過程。值得注意的是,ES 非常適合存儲結構化數據,比如 JSON、XML 和 CSV 等格式,而對于非結構化數據,如圖片和視頻,建議使用其他存儲方案。
上一篇c xml 2 json
下一篇python 是否為質數