日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

從Solr集群遷移文檔至阿里云Elasticsearch

本文介紹通過第三方社區提供的solr-to-es工具,將Solr節點中的文檔遷移到阿里云Elasticsearch中的方法。

環境準備

  1. 創建阿里云Elasticsearch實例,要求版本為6.x,本文使用6.3.2 版本,詳情請參見創建阿里云Elasticsearch實例

    重要

    本文使用的solr-to-es遷移工具僅支持阿里云Elasticsearch 6.x版本,其他版本需自行測試。

  2. 開啟目標阿里云Elasticsearch的自動創建索引功能,詳情請參見配置YML參數

  3. 創建阿里云ECS實例,本文使用CentOS 7.3版本,詳情請參見步驟一:創建ECS實例

    重要

    ECS實例需要與阿里云ES實例在同一區域和可用區,以及同一專有網絡VPC(Virtual Private Cloud)下。

  4. 在ECS上安裝Solr,本文使用5.0.0版本的Solr,詳情請參見Solr官方文檔

  5. 在ECS上安裝Python,要求3.0及以上版本,本文使用Python 3.6.2。

  6. 在ECS上安裝PySolr,要求3.3.3及以上,4.0以下版本。

安裝solr-to-es工具

  1. 連接ECS實例,下載solr-to-es工具

    連接ECS實例的具體操作請參見通過密碼或密鑰認證登錄Linux實例

    說明

    本文檔以普通用戶權限為例。

  2. 進入setup.py所在的目錄,運行sudo python setup.py install命令,安裝solr-to-es工具。

  3. 安裝成功后,參考以下命令進行文檔遷移。

    sudo python __main__.py <solr_url>:8983/solr/<my_core>/select http://<username>:<password>@<elasticsearch_url>:9200 <elasticsearch_index> <doc_type>
    表 1. 參數說明

    參數

    說明

    <solr_url>

    Solr集群的完整訪問地址。例如,http://116.62.**.**。

    <my_core>

    遷移文檔對應的SolrCore的名稱。

    <username>

    阿里云ES的訪問用戶名,默認為elastic。

    <password>

    阿里云ES的訪問密碼,在創建實例時設定。

    <elasticsearch_url>

    阿里云ES實例的私網或外網訪問地址。可在實例的基本信息頁面獲取,詳情請參見查看實例的基本信息

    <elasticsearch_index>

    待寫入的Solr文檔對應的索引名稱。

    <doc_type>

    對應索引的類型名稱。

    重要

    如果您使用的是其他版本的solr-to-es工具,也可以嘗試使用如下命令進行文檔遷移,參數詳情請參見solr-to-es

    sudo solr-to-es [-h] [--solr-query SOLR_QUERY] [--solr-fields COMMA_SEP_FIELDS]
                     [--rows-per-page ROWS_PER_PAGE] [--es-timeout ES_TIMEOUT]
                     solr_url elasticsearch_url elasticsearch_index doc_type

    本案例使用以上命令會輸出-bash: solr-to-es.py: command not found的錯誤。

操作示例

通過以下命令,查詢名稱為my_core的SolrCore的所有文檔,寫入到阿里云Elasticsearch實例中。對應的索引為elasticsearch_index,索引類型為doc_type

  1. 在Solr環境中,進入solr-to-es-master/solr_to_es文件夾下。

  2. 執行以下命令。

    sudo python __main__.py 'http://116.62.**.**:8983/solr/my_core/select?q=*%3A*&wt=json&indent=true' 'http://elastic:替換密碼@es-cn-so4lwf40ubsrf****.public.elasticsearch.aliyuncs.com:9200' elasticsearch_index doc_type

    參數

    說明

    q

    Solr的查詢語法,必選,可以使用運算符。*%3A*表示查詢所有文檔。

    wt

    返回的數據類型,支持JSON、XML、Python、Ruby、CSV等格式。

    indent

    返回結果是否需要格式化展示,默認為false

    其他參數說明請參見參數說明

  3. 登錄目標阿里云Elasticsearch實例的Kibana控制臺,根據頁面提示進入Kibana主頁。

    登錄控制臺的具體操作步驟請參見登錄Kibana控制臺

    說明

    本文操作以Elasticsearch 6.7版本的Kibana控制臺為例,其他版本操作可能略有差別,請以實際頁面為準。

  4. 在左側導航欄,單擊Dev Tools(開發工具),再單擊Go to work

  5. Console頁簽中,執行以下命令查看阿里云Elasticsearch集群服務中是否已成功創建elasticsearch_index索引。

    GET _cat/indices?v
  6. Console頁簽中,執行以下命令查看遷移成功的文檔詳情。

    GET /elasticsearch_index/doc_type/_search

    查詢成功后,返回如下結果。

    {
      "took" : 12,
      "timed_out" : false,
      "_shards" : {
        "total" : 5,
        "successful" : 5,
        "skipped" : 0,
        "failed" : 0
      },
      "hits" : {
        "total" : 2,
        "max_score" : 1.0,
        "hits" : [
          {
            "_index" : "elasticsearch_index",
            "_type" : "doc_type",
            "_id" : "Tz8WNW4BwRjcQciJ****",
            "_score" : 1.0,
            "_source" : {
              "id" : "2",
              "title" : [
                "test"
              ],
              "_version_" : 1648195017403006976
            }
          },
          {
            "_index" : "elasticsearch_index",
            "_type" : "doc_type",
            "_id" : "Tj8WNW4BwRjcQciJ****",
            "_score" : 1.0,
            "_source" : {
              "id" : "1",
              "title" : [
                "change.me"
              ],
              "_version_" : 1648195007391203328
            }
          }
        ]
      }
    }