<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 文檔是什么? 在很多程序中,大部分實體或者對象都被序列化為包含鍵和值的JSON對象。**鍵**是一個**字段**或者**屬性**的名字,**值**可以是一個字符串、數字、布爾值、對象、數組或者是其他的特殊類型,比如代表日期的字符串或者代表地理位置的對象: ~~~ { "name": "John Smith", "age": 42, "confirmed": true, "join_date": "2014-06-01", "home": { "lat": 51.5, "lon": 0.1 }, "accounts": [ { "type": "facebook", "id": "johnsmith" }, { "type": "twitter", "id": "johnsmith" } ] } ~~~ 通常情況下,我們使用可以互換對象和文檔。然而,還是有一個區別的。對象(object )僅僅是一個JSON對象,類似于哈希,哈希映射,字典或關聯數組。對象(Objects)則可以包含其他對象(Objects)。 在Elasticsearch中,**文檔**這個單詞有特殊的含義。它指的是在Elasticsearch中被存儲到唯一ID下的由最高級或者_根對象 (root object )_序列化而來的JSON。 ### 文檔元數據 一個文檔不只包含了數據。它還包含了_元數據(metadata)_ —— **關于**文檔的信息。有三個元數據元素是必須存在的,它們是: | 名字 | 說明 | |-----|-----| | `_index` | 文檔存儲的地方 | | `_type` | 文檔代表的對象種類 | | `_id` | 文檔的唯一編號 | ### `_index` _索引_ 類似于傳統數據庫中的"數據庫"——也就是我們存儲并且索引相關數據的地方。 > #### TIP: 在Elasticsearch中,我們的數據都在_分片_中被存儲以及索引,索引只是一個邏輯命名空間,它可以將一個或多個分片組合在一起。然而,這只是一個內部的運作原理——我們的程序可以根本不用關心分片。對于我們的程序來說,我們的文檔存儲在索引中。剩下的交給Elasticsearch就可以了。 我們將會在《索引管理》章節中探討如何創建并管理索引。但是現在,我們只需要讓Elasticsearch幫助我們創建索引。我們只需要選擇一個索引的名字。這個名稱必須要全部小寫,也不能以下劃線開頭,不能包含逗號。我們可以用`website`作為我們索引的名字。 ### `_type` 在程序中,我們使用對象代表“物品”,比如一個用戶、一篇博文、一條留言或者一個郵件。每一個對象都屬于一種_類型_,類型定義了對象的屬性或者與數據的關聯。**用戶**類的對象可能就會包含名字、性別、年齡以及郵箱地址等。 在傳統的數據庫中,我們總是將同類的數據存儲在同一個表中,因為它們的數據格式是相同的。同理,在Elasticsearch中,我們使用同樣_類型_的文檔來代表同類“事物”,也是因為它們的數據結構是相同的。 每一個_類型_都擁有自己的映射(mapping)或者結構定義,它們定義了當前類型下的數據結構,類似于數據庫表中的列。所有類型下的文檔會被存儲在同一個索引下,但是_映射_會告訴Elasticsearch不同的數據應該如何被索引。 我們將會在《映射》中探討如何制定或者管理映射,但是目前為止,我們只需要依靠Elasticsearch來自動處理數據結構。 ### `_id` _id_是一個字符串,當它與`_index`以及`_type`組合時,就可以來代表Elasticsearch中一個特定的文檔。我們創建了一個新的文檔時,你可以自己提供一個`_id`,或者也可以讓Elasticsearch幫你生成一個。 ### 其他元數據 在文檔中還有一些其他的元數據,我們將會在《映射》章節中詳細講解。使用上面羅列的元素,我們已經可以在Elasticsearch中存儲文檔或者通過ID來搜索已經保存的文檔了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看