Elasticsearch 使用reindex進行數據同步或索引重構

1、批量復制優化

POST _reindex
{"source": {"index": "source","size": 5000},"dest": {"index": "dest"}
}

2、提高scroll的并行度優化

POST _reindex?slices=5&refresh
{"source": {"index": "twitter"},"dest": {"index": "new_twitter"}
}

slices大小設置注意事項:
1)slices大小的設置可以手動指定,或者設置slices設置為auto,auto的含義是:針對單索引,slices大小=分片數;針對多索引,slices=分片的最小值。
2)當slices的數量等于索引中的分片數量時,查詢性能最高效。slices大小大于分片數,非但不會提升效率,反而會增加開銷。
3)如果這個slices數字很大(例如500),建議選擇一個較低的數字,因為過大的slices 會影響性能。
效果
實踐證明,比默認設置reindex速度能提升10倍+。

3、條件查詢以及部分字段同步

{"source": {"index": "maindata","_source": [ //查詢字段"dataId","website"],"query": {"match_phrase": {"teamId": 3}},"excludes": [ "column1","column2" ] //排除字段},"dest": {"index": "maindatagroup","version_type": "internal"}
}

說明:
“version_type”: “internal”,internal表示內部的,省略version_type或version_type設置為 internal 將導致 Elasticsearch 盲目地將文檔轉儲到目標中,覆蓋任何具有相同類型和 ID 的文件。
這也是最常見的重建方式。

4、從遠程中重建索引

POST _reindex
{"source": {"remote": {"host": "http://otherhost:9200","username": "user","password": "pass","socket_timeout": "1m","connect_timeout": "10s"},"index": "source","query": {"match": {"test": "data"}}},"dest": {"index": "dest"}
}

注:需要給新的es配置白名單:reindex.remote.whitelist: “172.16.76.147:9200”

5、重構數據之取余

將publicsentimenthot 數據通過organId 取余2 ,把數據分配到相應的索引上

POST  _reindex
{"source": {"index": "publicsentimenthot","size": 1000},"dest": {"index": "pubtest_0","op_type": "create"},"script": {"lang": "painless","source": "ctx._index = 'pubtest_' + (ctx._source.organId ?: 0) % 2;"}
}

6、查詢reindex任務

(1)獲取reindex任務列表
GET _tasks?detailed=true&actions=*reindex
(2)根據任務id查看任務
GET _tasks/r1A2WoRbTwKZ516z6NEs5A:36619

注: r1A2WoRbTwKZ516z6NEs5A:36619 為任務列表的id

(2)取消任務
POST _tasks/r1A2WoRbTwKZ516z6NEs5A:36619/_cancel

7、logstash 按照數據id重構索引

input {elasticsearch {hosts => ["第一個集群地址"]index => "源索引名稱"query => '{"query": {"match_all": {}}}'size => 1000scroll => "5m"docinfo => true}
}filter {ruby {code => "organ_id = event.get('organId').to_i rescue 0target_index = '目標索引前綴_' + (organ_id % 10).to_sevent.set('[@metadata][target_index]', target_index)"}
}output {elasticsearch {hosts => ["第二個集群地址"]index => "%{[@metadata][target_index]}"document_id => "%{[@metadata][_id]}"}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80532.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80532.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80532.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Debian 12.10 root 登錄失敗,兩步解決!

大家好,這里是 DBA學習之路,專注于提升數據庫運維效率。 前言 今天看到 debian 正式發布 12.10,安裝完成后發現無法登錄 root 用戶: 這里我一開始懷疑是 root 密碼錯了,所以改了一下 root 密碼,忘記 root …

systemctl 命令詳解與常見問題解決

在 Linux 系統中,service 命令和 chkconfig 命令一直用于管理服務,但隨著 systemd 的引入,systemctl 命令逐漸成為主流。systemctl 命令不僅功能強大,而且使用簡單。本文將詳細介紹 systemctl 命令的作用以及常見問題的解決方法。…

【爬蟲】DrissionPage-獲取douyim用戶下的視頻

之前看過DrissionPage,覺得很厲害,比selenium簡單,適合新手。因為盲目跟風逆向,今天看了一個DrissionPage案例直播,學習一下,真香哈。 DrissionPage官網:🛰? 概述 | DrissionPage官…

中國礦業大學iGMAS分析中心介紹

一、關于GNSS和iGMAS 在浩瀚的太空中,全球衛星導航系統(GNSS)構建起精準定位的時空基準。IGMAS——國際GNSS監測評估系統,是由中國倡導并主導建設的全球GNSS監測網絡,旨在提供高精度、高可靠的導航、定位與授時服務。 …

清理HiNas(海納斯) Docker日志并限制日志大小

我在一個機頂盒的HiNas系統上跑Octoprint的docker版本,每隔一段時間盒子空間就被占完了,運行df -h之后,顯示/dev/root Use 100%。 Filesystem Size Used Avail Use% Mounted on /dev/root 6.6G 6.6G 0 100% / devtmpfs …

RK3588芯片NPU的使用:yolov8-pose例子圖片檢測在安卓系統部署與源碼深度解析(rknn api)

一、本文的目標 將yolo8-pose例子適配安卓端,提供選擇圖片后進行姿態識別功能。通過項目學習源碼和rknn api。二、開發環境說明 主機系統:Windows 11目標設備:搭載RK3588芯片的安卓開發板核心工具:Android Studio Koala | 2024.1.1 Patch 2,NDK 27.0三、適配(遷移)安卓 …

DeepSeek本地部署手冊

版本:v1.0 適用對象:零基礎開發者 一、部署前準備 1.1 硬件要求 組件最低配置推薦配置說明CPUIntel i5 8代Xeon Gold 6230需支持AVX指令集內存16GB64GB模型越大需求越高GPUNVIDIA GTX 1060 (6GB)RTX 3090 (24GB)需CUDA 11.7+存儲50GB可用空間1TB NVMe SSD建議預留2倍模型大小…

HashMap的源碼解析

HashMap基于哈希表的Map接口實現,是以key-value存儲形式存在,即主要用來存放鍵值對。HashMap的實現不是同步的,這意味著它不是線程安全的。它的key、value都可以為null。此外,HashMap中的映射不是有序的。 JDK1.8 之前 HashMap由數…

論文精讀:大規模MIMO波束選擇問題的量子計算解決方案

論文精讀:大規模MIMO波束選擇問題的量子計算解決方案 概要: 隨著大規模多輸入多輸出系統(MIMO)在5G及未來通信技術中的應用,波束選擇問題(MBS)成為提升系統性能的關鍵。傳統的波束選擇方法面臨計…

DPIN河內AI+DePIN峰會:共繪藍圖,加速構建去中心化AI基礎設施新生態

近日,一場聚焦前沿科技融合的盛會——AIDePIN峰會在越南河內成功舉辦。此次峰會由DPIN、QPIN及42DAO等Web3領域的創新項目聯合組織,匯聚了眾多Web3行業領袖、技術專家與社區成員。峰會于2025年4月19日舉行,其核心議題圍繞去中心化物理基礎設施…

品牌公關如何邀請媒體采訪?|微信文案模版

傳媒如春雨,潤物細無聲,大家好,我是51媒體胡老師。 📸?不論是舉行活動、展會、發布會、推介會,還是新店開業🎉 都需要邀約媒體出席活動并采訪報道🎤📰 我們需要在活動前提醒媒體參…

影樓精修-手部青筋祛除算法解析

注意:本文樣例圖片為了避免侵權,均使用AIGC生成; 手部青筋祛除科普 手部青筋祛除是影樓精修中一個非常精細的工作,需要較高的修圖技巧,目前市面上很少有自動化的青筋祛除功能的,而像素蛋糕目測是第一個做到…

智慧景區國標GB28181視頻平臺EasyGBS視頻融合應用全場景解決方案

一、方案背景? 隨著旅游業的蓬勃發展,景區的規模不斷擴大,游客數量持續增長,對景區的安全管理和游客服務質量提出了更高要求。打造一個高效、智能的視頻監控及管理系統成為景區運營的關鍵。EasyGBS作為一款基于國標GB28181協議的視頻云服務…

dedecms織夢arclist標簽noflag屬性過濾多個參數

織夢dedecms系統arclist標簽noflag屬性默認是只能過濾一個參數,比如過濾推薦是noflagc,過濾有圖片的文章是noflagc,在模板制作過程中,有時候我們為了seo和避免重復,需要過濾多個參數。今天小編就來跟大家講講織夢dedec…

如何用go語言搭MCP

1.什么是MCP? MCP是“模型上下文協議(Model Context Protocol)”的簡稱,用一句簡單通俗易懂的話描述: 是一種讓 AI 模型能夠無縫連接到外部工具和數據源的標準化方式。想象它就像 AI 的“萬能接口”,能讓 AI 像用 USB 線連接設備一樣,輕松調用其他程序或服務。2.官方M…

js 的call 和apply方法用處

主要用于ECMAScript與宿主環境(文檔對象(DOM)、瀏覽器對象(BOM))的交互中; 例子:function changeStyle(attr, value){ this.style[attr] value; } …

移動通信行業術語

英文縮寫英文全稱中文名稱解釋/上下文舉例IMSIP Multimedia SubsystemIP多媒體子系統SIPSession Initiation Protocol會話初始化協議常見小寫sip同。ePDG/EPDGEvolved Packet Data Gateway演進分組數據網關 EPDG是LTE(4G)和后續蜂窩網絡架構(…

c++11新特性隨筆

1.統一初始化特性 c98中不支持花括號進行初始化&#xff0c;編譯時會報錯&#xff0c;在11當中初始化可以通過{}括號進行統一初始化。 c98編譯報錯 c11: #include <iostream> #include <set> #include <string> #include <vector>int main() {std:…

Spark-Streaming簡介 核心編程

1. Spark-Streaming概述 定義&#xff1a;用于處理流式數據&#xff0c;支持多種數據輸入源&#xff0c;可運用Spark原語運算&#xff0c;結果能保存于多處。它以離散化流&#xff08;DStream&#xff09;為抽象表示&#xff0c;是RDD在實時數據處理場景的封裝。 特點&#x…

SpringbootWeb開發(注解和依賴配置)

Lombok 工具 Spring Web web開發相關依賴 MyBatis Framework MyBatis驅動 MySQL Driver MySql驅動包 Restful 風格 Slf4j 記錄日志對象 RequestMapping(value “/depts”, method RequestMethod.GET) //指定請求方式為GET method 指定請求方式 GetMapping 限定請求方式為Get…