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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 嵌套-集合 ### 嵌套-集合 如同我們在查詢時需要使用`nested`查詢來存取嵌套對象,專門的`nested`集合使我們可以取得嵌套對象中欄位的集合: ```json GET /my_index/blogpost/_search?search_type=count { "aggs": { "comments": { <1> "nested": { "path": "comments" }, "aggs": { "by_month": { "date_histogram": { <2> "field": "comments.date", "interval": "month", "format": "yyyy-MM" }, "aggs": { "avg_stars": { "avg": { <3> "field": "comments.stars" } } } } } } } } ``` <1> `nested`集合`深入`嵌套對象的`comments`欄位 <2> 評論基於`comments.date`欄位被分至各個月份分段 <3> 每個月份分段單獨計算星號的平均數 結果顯示集合發生於嵌套文檔層級: ```json ... "aggregations": { "comments": { "doc_count": 4, <1> "by_month": { "buckets": [ { "key_as_string": "2014-09", "key": 1409529600000, "doc_count": 1, <1> "avg_stars": { "value": 4 } }, { "key_as_string": "2014-10", "key": 1412121600000, "doc_count": 3, <1> "avg_stars": { "value": 2.6666666666666665 } } ] } } } ... ``` <1> 此處總共有四個`comments`: 一個在九月以及三個在十月 ## 反向-嵌套-集合 ### 反向嵌套-集合 一個`nested`集合只能存取嵌套文檔中的欄位,而無法看見根文檔或其他嵌套文檔中的欄位。 然而,我們可以_跳出_嵌套區塊,藉由`reverse_nested`集合回到父階層。 舉例來說,我們可以發現使用評論者的年齡為其加上`tags`很有趣。 `comment.age`是在嵌套欄位中,但是`tags`位於根文檔: ```json GET /my_index/blogpost/_search?search_type=count { "aggs": { "comments": { "nested": { <1> "path": "comments" }, "aggs": { "age_group": { "histogram": { <2> "field": "comments.age", "interval": 10 }, "aggs": { "blogposts": { "reverse_nested": {}, <3> "aggs": { "tags": { "terms": { <4> "field": "tags" } } } } } } } } } } ``` <1> `nested`集合深入`comments`對象 <2> `histogram`集合以`comments.age`欄位聚集成每十年一個的分段 <3> `reverse_nested`集合跳回到根文檔 <4> `terms`集合計算每個年齡分段的火紅詞語 簡略的結果顯示如下: ```json .. "aggregations": { "comments": { "doc_count": 4, <1> "age_group": { "buckets": [ { "key": 20, <2> "doc_count": 2, <2> "blogposts": { "doc_count": 2, <3> "tags": { "doc_count_error_upper_bound": 0, "buckets": [ <4> { "key": "shares", "doc_count": 2 }, { "key": "cash", "doc_count": 1 }, { "key": "equities", "doc_count": 1 } ] } } }, ... ``` <1> 共有四個評論 <2> 有兩個評論的發表者年齡介於20至30之間 <3> 兩個blog文章與這些評論相關 <4> 這些blog文章的火紅標簽是`shares`丶`cash`丶`equities` ### 什麼時候要使用嵌套對象 嵌套對象對於當有一個主要實體(如`blogpost`),加上有限數量的緊密相關實體(如`comments`)是非常有用的。 有辦法能以評論內容找到blog文章很有用,且`nested`查詢及過濾器提供短查詢時間連接(fast query-time joins)。 嵌套模型的缺點如下: * 如欲新增丶修改或刪除一個嵌套文檔,則必須重新索引整個文檔。因此越多嵌套文檔造成越多的成本。 * 搜尋請求回傳整個文檔,而非只有匹配的嵌套文檔。 雖然有個進行中的計畫要支持只回傳根文檔及最匹配的嵌套文檔,但目前并未支持。 有時你需要完整分離主要文檔及其關連實體。 _父-子關系_提供這一個功能。
                  <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>

                              哎呀哎呀视频在线观看