<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 開始第一步 我們現在開始進行一個簡單教程,它涵蓋了一些基本的概念介紹,比如**索引(indexing)**、**搜索(search)**以及**聚合(aggregations)**。通過這個教程,我們可以讓你對Elasticsearch能做的事以及其易用程度有一個大致的感覺。 我們接下來將陸續介紹一些術語和基本的概念,但就算你沒有馬上完全理解也沒有關系。我們將在本書的各個章節中更加深入的探討這些內容。 所以,坐下來,開始以旋風般的速度來感受Elasticsearch的能力吧! ## 讓我們建立一個員工目錄 假設我們剛好在**Megacorp**工作,這時人力資源部門出于某種目的需要讓我們創建一個員工目錄,這個目錄用于促進人文關懷和用于實時協同工作,所以它有以下不同的需求: * 數據能夠包含多個值的標簽、數字和純文本。 * 檢索任何員工的所有信息。 * 支持結構化搜索,例如查找30歲以上的員工。 * 支持簡單的全文搜索和更復雜的**短語(phrase)**搜索 * 高亮搜索結果中的關鍵字 * 能夠利用圖表管理分析這些數據 ## 索引員工文檔 我們首先要做的是存儲員工數據,每個文檔代表一個員工。在Elasticsearch中存儲數據的行為就叫做**索引(indexing)**,不過在索引之前,我們需要明確數據應該存儲在哪里。 在Elasticsearch中,文檔歸屬于一種**類型(type)**,而這些類型存在于**索引(index)**中,我們可以畫一些簡單的對比圖來類比傳統關系型數據庫: ``` Relational DB -> Databases -> Tables -> Rows -> Columns Elasticsearch -> Indices -> Types -> Documents -> Fields ``` Elasticsearch集群可以包含多個**索引(indices)**(數據庫),每一個索引可以包含多個**類型(types)**(表),每一個類型包含多個**文檔(documents)**(行),然后每個文檔包含多個**字段(Fields)**(列)。 >### 「索引」含義的區分 你可能已經注意到**索引(index)**這個詞在Elasticsearch中有著不同的含義,所以有必要在此做一下區分: - 索引(名詞) 如上文所述,一個**索引(index)**就像是傳統關系數據庫中的**數據庫**,它是相關文檔存儲的地方,index的復數是**indices **或**indexes**。 - 索引(動詞) **「索引一個文檔」**表示把一個文檔存儲到**索引(名詞)**里,以便它可以被檢索或者查詢。這很像SQL中的`INSERT`關鍵字,差別是,如果文檔已經存在,新的文檔將覆蓋舊的文檔。 - 倒排索引 傳統數據庫為特定列增加一個索引,例如B-Tree索引來加速檢索。Elasticsearch和Lucene使用一種叫做**倒排索引(inverted index)**的數據結構來達到相同目的。 默認情況下,文檔中的所有字段都會被**索引**(擁有一個倒排索引),只有這樣他們才是可被搜索的。 我們將會在[倒排索引](../052_Mapping_Analysis/35_Inverted_index.md)章節中更詳細的討論。 所以為了創建員工目錄,我們將進行如下操作: * 為每個員工的**文檔(document)**建立索引,每個文檔包含了相應員工的所有信息。 * 每個文檔的類型為`employee`。 * `employee`類型歸屬于索引`megacorp`。 * `megacorp`索引存儲在Elasticsearch集群中。 實際上這些都是很容易的(盡管看起來有許多步驟)。我們能通過一個命令執行完成的操作: ```Javascript PUT /megacorp/employee/1 { "first_name" : "John", "last_name" : "Smith", "age" : 25, "about" : "I love to go rock climbing", "interests": [ "sports", "music" ] } ``` 我們看到path:`/megacorp/employee/1`包含三部分信息: | 名字 | 說明 | | ---------- | ----------- | |megacorp|索引名 | |employee|類型名 | |1 |這個員工的ID | 請求實體(JSON文檔),包含了這個員工的所有信息。他的名字叫“John Smith”,25歲,喜歡攀巖。 很簡單吧!它不需要你做額外的管理操作,比如創建索引或者定義每個字段的數據類型。我們能夠直接索引文檔,Elasticsearch已經內置所有的缺省設置,所有管理操作都是透明的。 接下來,讓我們在目錄中加入更多員工信息: ```Javascript PUT /megacorp/employee/2 { "first_name" : "Jane", "last_name" : "Smith", "age" : 32, "about" : "I like to collect rock albums", "interests": [ "music" ] } PUT /megacorp/employee/3 { "first_name" : "Douglas", "last_name" : "Fir", "age" : 35, "about": "I like to build cabinets", "interests": [ "forestry" ] } ```
                  <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>

                              哎呀哎呀视频在线观看