<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之旅 廣告
                ## 添加索引 為了將數據添加到Elasticsearch,我們需要**索引(index)**——一個存儲關聯數據的地方。實際上,索引只是一個用來指向一個或多個**分片(shards)**的**“邏輯命名空間(logical namespace)”**. 一個**分片(shard)**是一個最小級別**“工作單元(worker unit)”**,它只是保存了索引中所有數據的一部分。在接下來的《深入分片》一章,我們將詳細說明分片的工作原理,但是現在我們只要知道分片就是一個Lucene實例,并且它本身就是一個完整的搜索引擎。我們的文檔存儲在分片中,并且在分片中被索引,但是我們的應用程序不會直接與它們通信,取而代之的是,直接與索引通信。 分片是Elasticsearch在集群中分發數據的關鍵。把分片想象成數據的容器。文檔存儲在分片中,然后分片分配到你集群中的節點上。當你的集群擴容或縮小,Elasticsearch將會自動在你的節點間遷移分片,以使集群保持平衡。 分片可以是**主分片(primary shard)**或者是**復制分片(replica shard)**。你索引中的每個文檔屬于一個單獨的主分片,所以主分片的數量決定了索引最多能存儲多少數據。 > 理論上主分片能存儲的數據大小是沒有限制的,限制取決于你實際的使用情況。分片的最大容量完全取決于你的使用狀況:硬件存儲的大小、文檔的大小和復雜度、如何索引和查詢你的文檔,以及你期望的響應時間。 復制分片只是主分片的一個副本,它可以防止硬件故障導致的數據丟失,同時可以提供讀請求,比如搜索或者從別的shard取回文檔。 當索引創建完成的時候,主分片的數量就固定了,但是復制分片的數量可以隨時調整。 讓我們在集群中唯一一個空節點上創建一個叫做`blogs`的索引。默認情況下,一個索引被分配5個主分片,但是為了演示的目的,我們只分配3個主分片和一個復制分片(每個主分片都有一個復制分片): ```Javascript PUT /blogs { "settings" : { "number_of_shards" : 3, "number_of_replicas" : 1 } } ``` 附帶索引的單一節點集群: ![有一個索引的單一節點集群](https://raw.githubusercontent.com/looly/elasticsearch-definitive-guide-cn/master/images/elas_0202.png) 我們的集群現在看起來就像上圖——三個主分片都被分配到`Node 1`。如果我們現在檢查**集群健康(cluster-health)**,我們將見到以下信息: ```Javascript { "cluster_name": "elasticsearch", "status": "yellow", <1> "timed_out": false, "number_of_nodes": 1, "number_of_data_nodes": 1, "active_primary_shards": 3, "active_shards": 3, "relocating_shards": 0, "initializing_shards": 0, "unassigned_shards": 3 <2> } ``` - <1> 集群的狀態現在是 `yellow` - <2> 我們的三個復制分片還沒有被分配到節點上 集群的健康狀態`yellow`表示所有的**主分片(primary shards)**啟動并且正常運行了——集群已經可以正常處理任何請求——但是**復制分片(replica shards)**還沒有全部可用。事實上所有的三個復制分片現在都是`unassigned`狀態——它們還未被分配給節點。在同一個節點上保存相同的數據副本是沒有必要的,如果這個節點故障了,那所有的數據副本也會丟失。 現在我們的集群已經功能完備,但是依舊存在因硬件故障而導致數據丟失的風險。
                  <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>

                              哎呀哎呀视频在线观看