<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 什么是文檔? 程序中大多的實體或對象能夠被序列化為包含鍵值對的JSON對象,**鍵(key)**是**字段(field)**或**屬性(property)**的名字,**值(value)**可以是字符串、數字、布爾類型、另一個對象、值數組或者其他特殊類型,比如表示日期的字符串或者表示地理位置的對象。 ```Javascript { "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)**和**文檔(document)**是等價相通的。不過,他們還是有所差別:對象(Object)是一個JSON結構體——類似于哈希、hashmap、字典或者關聯數組;對象(Object)中還可能包含其他對象(Object)。 在Elasticsearch中,**文檔(document)**這個術語有著特殊含義。它特指最頂層結構或者**根對象(root object)**序列化成的JSON數據(以唯一ID標識并存儲于Elasticsearch中)。 ## 文檔元數據 一個文檔不只有數據。它還包含了**元數據(metadata)**——**關于**文檔的信息。三個必須的元數據節點是: | 節點 | 說明 | | -------- | ------------------ | | `_index` | 文檔存儲的地方 | | `_type` | 文檔代表的對象的類 | | `_id` | 文檔的唯一標識 | ### `_index` **索引(index)**類似于關系型數據庫里的“數據庫”——它是我們存儲和索引關聯數據的地方。 > 提示: > 事實上,我們的數據被存儲和索引在**分片(shards)**中,索引只是一個把一個或多個分片分組在一起的邏輯空間。然而,這只是一些內部細節——我們的程序完全不用關心分片。對于我們的程序而言,文檔存儲在**索引(index)**中。剩下的細節由Elasticsearch關心既可。 我們將會在《索引管理》章節中探討如何創建并管理索引,但現在,我們將讓Elasticsearch為我們創建索引。我們唯一需要做的僅僅是選擇一個索引名。這個名字必須是全部小寫,不能以下劃線開頭,不能包含逗號。讓我們使用`website`做為索引名。 ### `_type` 在應用中,我們使用對象表示一些“事物”,例如一個用戶、一篇博客、一個評論,或者一封郵件。每個對象都屬于一個**類(class)**,這個類定義了屬性或與對象關聯的數據。`user`類的對象可能包含姓名、性別、年齡和Email地址。 在關系型數據庫中,我們經常將相同類的對象存儲在一個表里,因為它們有著相同的結構。同理,在Elasticsearch中,我們使用相同**類型(type)**的文檔表示相同的“事物”,因為他們的數據結構也是相同的。 每個**類型(type)**都有自己的**映射(mapping)**或者結構定義,就像傳統數據庫表中的列一樣。所有類型下的文檔被存儲在同一個索引下,但是類型的**映射(mapping)**會告訴Elasticsearch不同的文檔如何被索引。 我們將會在《映射》章節探討如何定義和管理映射,但是現在我們將依賴Elasticsearch去自動處理數據結構。 `_type`的名字可以是大寫或小寫,不能包含下劃線或逗號。我們將使用`blog`做為類型名。 ### `_id` **id**僅僅是一個字符串,它與`_index`和`_type`組合時,就可以在Elasticsearch中唯一標識一個文檔。當創建一個文檔,你可以自定義`_id`,也可以讓Elasticsearch幫你自動生成。 ### 其它元數據 還有一些其它的元數據,我們將在《映射》章節探討。使用上面提到的元素,我們已經可以在Elasticsearch中存儲文檔并通過ID檢索——換言說,把Elasticsearch做為文檔存儲器使用了。
                  <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>

                              哎呀哎呀视频在线观看