RoaringBitmap外掛能將ElasticSearch過濾效能提高 10 倍
Java中更好地壓縮點陣圖、位集。通常用作快速資料結構,如果沒有壓縮它們可能會使用太多記憶體。RoaringBitmap效能往往優於傳統的壓縮點陣圖,例如 WAH、EWAH 或 Concise。特點:
- 非常快的隨機訪問
- 良好的壓縮比
- 快速計算
- 快速序列化
以下列方式工作:
它將資料分成 2^16 個整數的塊(例如,[0, 2^16), [2^16, 2 x 2^16), ...)。在塊中,它可以使用未壓縮的點陣圖、簡單的整數列表或執行列表。無論它使用什麼格式,它們都允許您快速檢查值是否存在(例如,使用二進位制搜尋)。
這將如何改善您的整體系統:
- 要傳輸的資料更少——不僅從客戶端到伺服器,而且在 ES 節點之間。
- 更少的記憶體使用——我們的客戶端將使用更少的記憶體,但最重要的是,ES 節點也將使用更少的記憶體。
- 更少的磁碟空間——如果這些列表需要儲存在資料庫中的某個地方,使用 RoaringBitmaps 儲存它可以節省大量空間。
- 高效查詢——Roaringbitmaps 對於記憶體中查詢來說非常高效和快速
下面是ElasticSearch 外掛程式碼:
@Override public FilterScript newInstance(LeafReaderContext context) throws IOException { final byte[] decodedTerms = Base64.getDecoder().decode(terms); final ByteBuffer buffer = ByteBuffer.wrap(decodedTerms); RoaringBitmap rBitmap = new RoaringBitmap(); rBitmap.deserialize(buffer); return new FilterScript(params, lookup, context) { @Override public boolean execute() { try { final ScriptDocValues.Longs fieldNameValue = (ScriptDocValues.Longs)getDoc().get(fieldName); final int docId = (int)fieldNameValue.getValue(); if (opType.equals("exclude") && rBitmap.contains(docId)) { return false; } else if (opType.equals("include") && !rBitmap.contains(docId)) { return false; } return true; } catch (Exception exception) { throw exception; } } }; } |
外掛庫Github
相關文章
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- 如何將Luminar作為Photoshop濾鏡外掛使用?
- [譯] 提高 10 倍效能:優化靜態網站優化網站
- Elasticsearch外掛安裝Elasticsearch
- Elasticsearch 查詢與過濾Elasticsearch
- Elasticsearch——filter過濾查詢ElasticsearchFilter
- Safari網頁敏感文字過濾外掛:Profanity Filter for Mac網頁FilterMac
- 頁面輸出過濾外掛--最新icp備案需要
- Django(69)最好用的過濾器外掛Django-filterDjango過濾器Filter
- 蘋果A13提前曝光:相比A12整體效能提高3倍,AI效能再提高5倍!蘋果AI
- Nik collection 4.3,濾鏡外掛
- 類人腦:能效提高100萬倍!
- Elasticsearch Head外掛使用小結Elasticsearch
- 安裝elasticsearch-head外掛Elasticsearch
- Elasticsearch-sql 外掛安裝ElasticsearchSQL
- Elasticsearch精進之路:elasticsearch-head外掛使用教程Elasticsearch
- PS濾鏡外掛:Nik Collection 5
- 提高VSCode 10倍效率的技巧VSCode
- Google瀏覽器外掛之快閃記憶體過濾器Go瀏覽器記憶體過濾器
- Fabric 1.0原始碼分析(11)consenter(共識外掛) #filter(過濾器)原始碼Filter過濾器
- Elasticsearch-head外掛使用小結Elasticsearch
- ElasticSearch6.2.3安裝Head外掛Elasticsearch
- 透過 CancellationToken 提高 Web 效能Web
- 分享一個瀏覽器外掛:搜尋引擎結果過濾器瀏覽器過濾器
- 十四、.net core(.NET 6)搭建ElasticSearch(ES)系列之給ElasticSearch新增SQL外掛和瀏覽器外掛ElasticsearchSQL瀏覽器
- 乾貨:用好這13款VSCode外掛,工作效率提升10倍VSCode
- 乾貨:用好VSCode這13款外掛,工作效率提升10倍VSCode
- Elasticsearch6.2.4-利用head外掛建立索引Elasticsearch索引
- Nik Collection 4 PS濾鏡外掛套裝
- Nik Collection 5:PS濾鏡外掛套裝
- PS濾鏡外掛套裝Nik Collection 4
- ElasticSearch(提高篇)Elasticsearch
- idea 使用外掛,提高工作效率Idea
- Nik Collection 6 for Mac,PS濾鏡外掛套裝Mac
- Nik Collection 5 for Mac(PS濾鏡外掛套裝)Mac
- Nik Collection 5 for Mac PS濾鏡外掛套裝Mac
- Nik Collection 4 for Mac(PS濾鏡外掛套裝)Mac
- PS濾鏡外掛套裝:Nik Collection 5 for MacMac