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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 基數聚合 原文鏈接 :[https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html) 譯文鏈接 :[基數聚合](/pages/viewpage.action?pageId=5505309) 貢獻者 : @您的名字 @wangxiang single-value度量聚合就是計算單值的近似值。這些值可以從文本中獲取或者使用腳本生成。 假設你正在建立書的索引,并且希望請求與作者唯一匹配: ``` { "aggs" : { "author_count" : { "cardinality" : { "field" : "author" } } } } ``` ## Precision Control 這個聚類操作支持precision_threshold選項: | 警告 | precision_threshold選項特定于當前內部實現的cardinality agg,它可能會在以后進行修改。 | | --- | --- | ``` { "aggs" : { "author_count" : { "cardinality" : { "field" : "author_hash", "precision_threshold": 100 } } } } ``` precision_threshold選項允許交易內存的準確性,并定義一個唯一的計數,低于該計數預計接近準確。 高于這個值,計數可能會變得更模糊。 支持的最大值為40000,超過此數字的閾值將具有與閾值40000相同的效果。默認值為3000。 ## Counts are approximate 計算精確計數要求加載值到一個哈希集并返回它的大小,當工作在高基數時需要占用大量的內存空間,同時在節點間溝通每個分片集也會占用大量的集群資源,所以計算的效率是比較低的。基數聚合基于[HyperLogLog++](http://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/40671.pdf)?算法,這個算法基于散列值,它有以下這些有趣的性質: * 可配置的精度,它決定為了準確性如何交換內存; * 低基數集的優良精度; * 固定內存使用:無論有幾十或數十億的唯一值,內存的使用僅取決于配置的精度。 對于c的精確閾值,我們的實現需要使用大約8字節。 下圖顯示了設置閾值前后誤差如何變化: ![](https://img.kancloud.cn/06/ba/06ba91fad211a0768ae86a22837505aa_1000x400.jpg) 對于所有3個閾值,計數已準確到配置閾值(雖然沒有保證,這是可能的情況下)。請注意,即使有一個閾值低至100,錯誤仍然非常低,即使是數以百萬計數據。 ## Pre-computed hashes 在具有高基數的字符串字段中,在索引中存儲字段值的哈希值可能更快,然后在該字段中運行基數聚合。可以在客戶端計算出哈希值(再提供給es),也可以讓elasticsearch使用[`mapper-murmur3`](https://www.elastic.co/guide/en/elasticsearch/plugins/5.3/mapper-murmur3.html)插件為你計算出哈希值。 預計算哈希值通常僅適用于非常大的和/或高基數字段,這樣可以節省CPU和內存。然而,對于數字字段,計算哈希是非常快速的,存儲原始的值需要的內存比存儲計算出的哈希值可能更多也,可能更少(差不多,所以沒必要使用預計算哈希值)。對于低基數字符串字段也是這樣,特別是在那些優化確保每一段數據哈希值保持唯一值的情況下(也沒必要使用預計算哈希值)。 ## Script 基數聚合支持使用腳本,但是使用腳本會帶來明顯的性能損失: ``` { "aggs" : { "author_count" : { "cardinality" : { "script": { "lang": "painless", "inline": "doc['author.first_name'].value + ' ' + doc['author.last_name'].value" } } } } } ``` 上面的語句將會使用系統內置的腳本語言進行解釋,而且是不帶參數的。用一個文件腳本的完整語法如下: ``` { "aggs" : { "author_count" : { "cardinality" : { "script" : { "file": "my_script", "params": { "first_name_field": "author.first_name", "last_name_field": "author.last_name" } } } } } } ``` 對于索引腳本只需要將file參數替換為id參數。 ## Missing Value Missing字段定義了文檔缺失值的時候應該如何處理。默認情況下這些文檔會被忽略,但是也可以認為它們有一個默認的值存在: ``` { "aggs" : { "tag_cardinality" : { "cardinality" : { "field" : "tag", "missing": "N/A" } } } } ``` 如果文檔沒有tag字段,則認為該文檔的tag值為“N/A”。
                  <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>

                              哎呀哎呀视频在线观看