国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ES優(yōu)化實戰(zhàn)-通過開啟copy_to提升一倍的檢索性能

這篇具有很好參考價值的文章主要介紹了ES優(yōu)化實戰(zhàn)-通過開啟copy_to提升一倍的檢索性能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? 在對text字段進行搜索的時候,假如你需要對多個text類型的字段搜索,例如 文章的標題和文章的內(nèi)容,這兩個字段。

? 在這種情況下,是可以開啟copy_to來提速的。我測試的提速效果在百分之五十左右。

? 它是將這兩個字段copy到一個字段上,然后進行分詞處理。之所以會快,就是因為如果你多個字段,要做多次的查詢,如果合并到一個字段上,只需要做一次查詢。

? 但是請注意,它會額外花費比較多的磁盤資源!

測試結(jié)論

對兩個text類型字段檢索,數(shù)據(jù)內(nèi)容為文章和標題。開啟copy_to以后,搜索提升百分之五十左右。磁盤額外占用百分之二十五左右。

如何開啟copy_to

我這里不做過多的介紹了,直接看官網(wǎng)吧。

copy_to | Elasticsearch Guide [8.4] | Elastic

看看資源花費情況

?GET _cat/indices?v

可以看到索引在開啟copy_to前是583G,開啟后是724G。磁盤多花費了24%。這個要根據(jù)自己數(shù)據(jù)情況,具體去測試分析。因為大家的數(shù)據(jù),場景都不一樣。

ES優(yōu)化實戰(zhàn)-通過開啟copy_to提升一倍的檢索性能

?看看提升效果

? 我是寫測試程序跑了幾百個搜索詞條件,做測試。搜索就是query_string,然后mache_phrase

? 測試代碼如下:?

    @Override
    public void comparisonCopyTo() throws IOException {
        // 搜索詞
        List<String> queryList = Arrays.asList("中國", "美國", "拜登", "疫情", "蘋果", "華為", "特朗普", "利好", "浪漫", "馬斯特",
                "特斯拉", "臺灣", "香港", "美食", "微信", "晴天", "北京", "救援", "失敗", "報警",
                "媒體", "新疆", "京東", "深圳", "爆炸", "事故", "征地", "抗議", "聚眾", "黑社會",
                "堵路", "打砸", "罷工", "跳樓", "招募", "黑旅館", "爭議", "盜竊", "碰車", "示威",
                "不滿", "黑中介", "失火", "舉報", "公道", "經(jīng)濟學家", "中國新聞周刊", "永定河", "中國大地財產(chǎn)保險股份有限公司", "冬奧",
                "天津大事件");


        // 對比邏輯:相同的搜索詞,去對比搜索時間,打印日志,校驗搜索結(jié)果
        for (String queryString:queryList) {

            HashMap<String, Float> fields = new HashMap<>();
            fields.put("content", 1.0F);
            fields.put("title", 1.0F);
            QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery(queryString).fields(fields).type(MultiMatchQueryBuilder.Type.PHRASE);
            SearchResponse data = commonsDao.basicSearch(queryBuilder, 10, true, "all_data");

            // 查詢copy-to的字段
            HashMap<String, Float> copyToFields = new HashMap<>();
            copyToFields.put("full_search", 1.0F);
            QueryStringQueryBuilder copyToQueryBuilder = QueryBuilders.queryStringQuery(queryString).fields(copyToFields).type(MultiMatchQueryBuilder.Type.PHRASE);
            SearchResponse copyToData = commonsDao.basicSearch(copyToQueryBuilder, 10, true, "all_data_copy_to");

            log.info("copy-to測試對比(un copy-to vs copy-to), 搜索詞 {},查詢時間對比 {} vs {}, 查詢性能提升 {}% ,查詢結(jié)果對比 {} vs {}", queryString,
                    data.getTook().getMillis(), copyToData.getTook().getMillis(), (float)(data.getTook().getMillis() - copyToData.getTook().getMillis())/data.getTook().getMillis()*100,
                    data.getHits().getTotalHits().value, copyToData.getHits().getTotalHits().value);
        }
    }

測試結(jié)果如下:

ES優(yōu)化實戰(zhàn)-通過開啟copy_to提升一倍的檢索性能文章來源地址http://www.zghlxwxcb.cn/news/detail-418487.html

到了這里,關(guān)于ES優(yōu)化實戰(zhàn)-通過開啟copy_to提升一倍的檢索性能的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • ES性能優(yōu)化最佳實踐- 檢索性能提升30倍!

    ES性能優(yōu)化最佳實踐- 檢索性能提升30倍!

    ????????Elasticsearch是被廣泛使用的搜索引擎技術(shù),它的應用領(lǐng)域遠不止搜索引擎,還包括日志分析、實時數(shù)據(jù)監(jiān)控、內(nèi)容推薦、電子商務(wù)平臺、企業(yè)級搜索解決方案以及許多其他領(lǐng)域。其強大的全文搜索、實時索引、分布式性能和豐富的插件生態(tài)系統(tǒng)使其成為了許多不同

    2024年02月08日
    瀏覽(27)
  • 如何通過優(yōu)化服務(wù)器提升網(wǎng)站的SEO排名

    如何通過優(yōu)化服務(wù)器提升網(wǎng)站的SEO排名

    在當今數(shù)字化時代,擁有一個高效、穩(wěn)定的服務(wù)器對于網(wǎng)站的成功至關(guān)重要。然而,服務(wù)器不僅僅是為了提供網(wǎng)站的基本運行,它還可以對搜索引擎優(yōu)化(SEO)起到關(guān)鍵作用,于是就有了多IP站群服務(wù)器這樣對SEO非常友好的服務(wù)器。通過優(yōu)化服務(wù)器設(shè)置和配置,可以提升網(wǎng)站的性

    2024年02月07日
    瀏覽(116)
  • MySQL索引優(yōu)化:提升查詢速度的實戰(zhàn)解析

    當涉及到大型數(shù)據(jù)庫和復雜查詢時,索引在MySQL中是一個重要的性能優(yōu)化工具。通過使用索引,可以加速查詢速度,減少查詢的執(zhí)行時間。下面是一個詳細的MySQL添加索引的教程,使用Markdown格式進行說明。 步驟1:選擇合適的列 首先,需要選擇哪些列需要添加索引。通常情況

    2024年02月12日
    瀏覽(84)
  • ES實戰(zhàn):通過kibana配置滾動索引

    ES實戰(zhàn):通過kibana配置滾動索引

    步驟在官網(wǎng)有明確的描述,按照步驟一步一步操作,就可以實現(xiàn)。 官網(wǎng)地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-index-lifecycle-management.html 英語溜的直接看官網(wǎng)哈。 下面我們按照官網(wǎng)的配置指南一步步操作。 1、創(chuàng)建生命周期策略 點擊創(chuàng)建進入生命周

    2024年01月22日
    瀏覽(18)
  • 性能提升30%!袋鼠云數(shù)?;?Apache Hudi 的性能優(yōu)化實戰(zhàn)解析

    性能提升30%!袋鼠云數(shù)?;?Apache Hudi 的性能優(yōu)化實戰(zhàn)解析

    Apache Hudi 是一款開源的數(shù)據(jù)湖解決方案,它能夠幫助企業(yè)更好地管理和分析海量數(shù)據(jù),支持高效的數(shù)據(jù)更新和查詢。并提供多種數(shù)據(jù)壓縮和存儲格式以及索引功能,從而為企業(yè)數(shù)據(jù)倉庫實踐提供更加靈活和高效的數(shù)據(jù)處理方式。 在金融領(lǐng)域,企業(yè)可以使用 Hudi 來處理大量需要

    2024年02月09日
    瀏覽(21)
  • YOLOv5/YOLOv8改進實戰(zhàn)實驗:新型***亞像素卷積***優(yōu)化上采樣技術(shù)提升目標檢測效果(即插即用)

    ??這是一個用于上采樣的子像素卷積(SubPixel Convolution)模塊,它是一種常見的圖像超分辨率的技術(shù),也可以應用于目標檢測模型(如YOLO)的特征圖上采樣。下面我會分幾個部分詳細介紹這個模塊的原理和在YOLO中的應用: ??模塊介紹:SubPixelConvolution_s是一個PyTorch模塊,

    2024年02月15日
    瀏覽(25)
  • linux驅(qū)動和應用的數(shù)據(jù)交互ioctl函數(shù)和copy_from_user、copy_to_user

    首先,我們需要規(guī)定一些命令碼,這些命令碼在應用程序和驅(qū)動程序中需要保持一致。應用程序只需向驅(qū)動程序下發(fā)一條指令碼,用來通知它執(zhí)行哪條命令。如何解讀這條指令和怎么實現(xiàn)相關(guān)操作,就是驅(qū)動程序自己要做的事。 應用程序的接口函數(shù)為ioctl,參考官方文檔,函

    2024年02月07日
    瀏覽(18)
  • 警告UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach

    這個警告信息是提示在構(gòu)造新的張量時,推薦使用? sourceTensor.clone().detach() ?或? sourceTensor.clone().detach().requires_grad_(True) ,而不是使用? torch.tensor(sourceTensor) ?的方式。 警告信息提到了這個建議,是因為在 PyTorch 中, torch.tensor() ?函數(shù)都會創(chuàng)建新的張量,并且不與原先的張量

    2024年02月16日
    瀏覽(26)
  • UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone...的解決方案

    今天跑程序的過程中,遇到兩個報錯信息,由于不耽誤程序的運行,之前一直沒有留意,今天給修復了一下bug 報錯信息: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor). ?

    2024年02月11日
    瀏覽(25)
  • TypeError: can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to

    在用GPU訓練模型時報如下的錯誤: TypeError: can’t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first. GPU上的tensor張量無法轉(zhuǎn)為numpy格式,那我們把它轉(zhuǎn)到CPU上即可。 方法非常簡單,只需在目標張量后面加 .cpu() 即可。 Before: After:

    2024年02月12日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包