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
相關文章
- httpteleport能提高10倍的Http流量HTTP
- 將 Web 應用效能提高十倍的10條建議Web
- sketch外掛大放送,讓你的工作效率提高10倍
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- [譯] 提高 10 倍效能:優化靜態網站優化網站
- Elasticsearch外掛安裝Elasticsearch
- Elasticsearch——filter過濾查詢ElasticsearchFilter
- Elasticsearch 查詢與過濾Elasticsearch
- 如何將Luminar作為Photoshop濾鏡外掛使用?
- 有了這些 Chrome 外掛,效率提升10倍Chrome
- Safari網頁敏感文字過濾外掛:Profanity Filter for Mac網頁FilterMac
- elasticsearch5.6.3外掛部署ElasticsearchH5
- 蘋果A13提前曝光:相比A12整體效能提高3倍,AI效能再提高5倍!蘋果AI
- 10個提升WordPress效能的外掛
- 頁面輸出過濾外掛--最新icp備案需要
- Django(69)最好用的過濾器外掛Django-filterDjango過濾器Filter
- 10個提高效率的Chrome外掛Chrome
- Nik collection 4.3,濾鏡外掛
- Elasticsearch-sql 外掛安裝ElasticsearchSQL
- ElasticSearch安裝Head外掛Elasticsearch
- 10款提高 iOS 開發效率的 XCode 外掛iOSXCode
- PS濾鏡外掛:Nik Collection 5
- 安裝elasticsearch-head外掛Elasticsearch
- Elasticsearch Head外掛使用小結Elasticsearch
- ElasticSearch安裝ik分詞外掛Elasticsearch分詞
- Elasticsearch精進之路:elasticsearch-head外掛使用教程Elasticsearch
- Elasticsearch5中安裝Elasticsearch-head外掛ElasticsearchH5
- ElasticSearch(三) ElasticSearch中文分詞外掛IK的安裝Elasticsearch中文分詞
- NEST LOOP改為HASH JOIN 效能提高6倍OOP
- Google瀏覽器外掛之快閃記憶體過濾器Go瀏覽器記憶體過濾器
- 十四、.net core(.NET 6)搭建ElasticSearch(ES)系列之給ElasticSearch新增SQL外掛和瀏覽器外掛ElasticsearchSQL瀏覽器
- Elasticsearch-head外掛使用小結Elasticsearch
- ElasticSearch6.2.3安裝Head外掛Elasticsearch
- Elasticsearch 5.3.x 使用 Head 外掛Elasticsearch
- ElasticSearch安裝中文分詞外掛IKElasticsearch中文分詞
- 分享一個瀏覽器外掛:搜尋引擎結果過濾器瀏覽器過濾器
- Fabric 1.0原始碼分析(11)consenter(共識外掛) #filter(過濾器)原始碼Filter過濾器
- MixItUp:超炫!基於 CSS3 & jQuery 的過濾和排序外掛CSSS3jQuery排序