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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 跨集群搜索 原文鏈接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cross-cluster-search.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cross-cluster-search.html) 譯文鏈接 : [http://www.apache.wiki/pages/viewpage.action?pageId=2883720](http://www.apache.wiki/pages/viewpage.action?pageId=2883720) 貢獻者 : [張學](/display/~zhangxue),[ApacheCN](/display/~apachecn),[Apache中文網](/display/~apachechina) 注意 此功能處于測試階段,可能會發生變化。設計和代碼不如官方**GA**功能成熟。彈性將采取最大的努力來解決任何問題,但**beta**功能不受**SLA**官方**GA**功能的支持。 **cross cluster search**(跨集群搜索)功能允許任何節點在多個集群之間充當**federated client**(聯合客戶端)。 與**tribe node**(部落節點)功能相比,進行**cross cluster search**(跨集群搜索)的節點將不會加入遠程集群,而是以輕量的方式連接到遠程集群,以便執行聯合搜索請求。 ?**cross cluster search**(跨集群搜索)的工作原理是在集群狀態中配置一個遠程集群,并且僅連接到遠程集群中有限數量的節點。 每個遠程集群都由一個名稱和一個**seed nodes**(種子節點)的列表引用。 這些**seed nodes**(種子節點)用于發現遠程集群中有資格作為**gateway nodes**(網關節點)的節點。 集群中配置了遠程集群的每個節點都連接到一個或多個**gateway nodes**(網關節點),并使用它們將搜索請求聯合到遠程集群。 ### 配置跨集群搜索 遠程集群可以通過**cluster settings API**(集群設置api)來全局性地指定(可以動態更新),或者在各個節點的**elasticsearch.yml**文件中單獨設定 如果通過**elasticsearch.yml**配置遠程集群,則只有具有該配置的節點才能連接到遠程集群。 換句話說,聯合搜索請求必須被專門發送到那些節點。 通過**cluster settings API**(集群設置api)設置的遠程集群在集群中的每個節點上都可用。 注意 此功能已添加到**Elasticsearch v5.3**中,并且要求gateway eligible(具有網關資格)的節點在**v5.3**之后。 對于**cross cluster search**(跨集群搜索)節點的**elasticsearch.yml**配置文件只需要列出應連接到遠程集群,例如 ``` search: remote: cluster_one: #1 seeds: 127.0.0.1:9300 cluster_two: #2 seeds: 127.0.0.1:9301 ``` | 1,2 | **cluster_one**和**cluster_two**是表示與每個集群的連接的任意集群別名。 這些名稱隨后用于區分本地和遠程索引。 | 使用**cluster settings API**(集群設置api)將遠程集群添加到集群中的所有節點的示例如下: ``` PUT _cluster/settings { "persistent": { "search": { "remote": { "cluster_one": { "seeds": [ "127.0.0.1:9300" ] }, "cluster_two": { "seeds": [ "127.0.0.1:9301" ] } } } } } ``` 通過將其種子設置為**null**,可以從群集設置中刪除遠程群集: ``` PUT _cluster/settings { "persistent": { "search": { "remote": { "cluster_one": { #1 "seeds": null } } } } } ``` | 1 | **cluster_one**將從集群設置中刪除,**cluster_two**保持不變。 | ### 使用跨集群搜索 要搜索遠程群集**cluster_one**上的**twitter**索引,**index**(索引)名稱必須帶有以**:**字符分隔的群集別名的前綴: ``` POST /cluster_one:twitter/tweet/_search { "match_all": {} } ``` 與**tribe**(部落)功能相反,**cross cluster search**(跨群集搜索)還可以搜索具有相同名稱的不同群集的索引: ``` ?POST /cluster_one:twitter,twitter/tweet/_search { "match_all": {} } ``` 搜索結果的消歧與在請求中消除索引歧義的方法相同。 即使索引名稱相同,當結果合并時,這些索引將被視為不同的索引。 從遠程索引檢索的所有結果將以其遠程集群名稱作為前綴: ``` ? { "took" : 89, "timed_out" : false, "_shards" : { "total" : 10, "successful" : 10, "failed" : 0 }, "hits" : { "total" : 2, "max_score" : 1.0, "hits" : [ { "_index" : "cluster_one:twitter", "_type" : "tweet", "_id" : "1", "_score" : 1.0, "_source" : { "user" : "kimchy", "postDate" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch" } }, { "_index" : "twitter", "_type" : "tweet", "_id" : "1", "_score" : 1.0, "_source" : { "user" : "kimchy", "postDate" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch" } } ] } } ``` ### 跨集群搜索配置 search.remote.connections_per_cluster 要連接到每個遠程集群的節點數。 默認值為3。? `search.remote.initial_connect_timeout` 節點啟動時與遠程節點建立連接的等待時間。 默認是30秒。? `search.remote.node.attr` 過濾掉遠程集群中有資格作為**gateway node**(網關節點)的節點的節點屬性。 例如,節點可以具有節點屬性**node.attr.gateway:true**,如果**search.remote.node.attr**設置為**gateway**,只有具有此屬性的節點才能將連接到。? `search.remote.connect` 默認情況下,群集中的任何節點都可以充當?**cross-cluster client**(跨群集客戶端)并連接到遠程群集。 **search.remote.connect**設置可以設置為**false**(默認為**true**),以防止某些節點連接到遠程群集。 **Cross-cluster search**(跨群集搜索)請求必須發送到允許充當跨群集客戶端的節點。
                  <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>

                              哎呀哎呀视频在线观看