日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

來自釘釘群的問題—Elasticsearch 如何實現(xiàn)文件名自定義排序?

來源: 責編: 時間:2024-02-02 16:59:53 303觀看
導讀1、背景在數(shù)字時代,圖像數(shù)據(jù)的管理已成為數(shù)據(jù)架構的一部分。然而,隨之而來的挑戰(zhàn)是如何有效地索引和檢索這些圖像文件。這不僅涉及存儲,更重要的是如何根據(jù)特定的屬性(如文件名中的數(shù)字)進行排序,以便用戶可以按照預期的順

1、背景

在數(shù)字時代,圖像數(shù)據(jù)的管理已成為數(shù)據(jù)架構的一部分。然而,隨之而來的挑戰(zhàn)是如何有效地索引和檢索這些圖像文件。aI128資訊網(wǎng)——每日最新資訊28at.com

這不僅涉及存儲,更重要的是如何根據(jù)特定的屬性(如文件名中的數(shù)字)進行排序,以便用戶可以按照預期的順序查看圖像。aI128資訊網(wǎng)——每日最新資訊28at.com

如下問題來自Elastic 釘釘技術交流群:aI128資訊網(wǎng)——每日最新資訊28at.com

圖片圖片aI128資訊網(wǎng)——每日最新資訊28at.com

2、解決方案探討

在Elasticsearch中,我們經(jīng)常面對需要對數(shù)據(jù)進行排序的需求。單就排序,咱們之前有過幾篇文章分析不同業(yè)務場景的排序?qū)崿F(xiàn)。aI128資訊網(wǎng)——每日最新資訊28at.com

僅就上圖中的文件名進行排序,會怎么樣呢?我們構造一下數(shù)據(jù),執(zhí)行一下看。aI128資訊網(wǎng)——每日最新資訊28at.com

用默認動態(tài)Mapping 結(jié)構,批量寫入數(shù)據(jù)。

POST /my_photos/_bulk{ "index" : { "_id" : "1" } }{ "photo_id" : "photo1.jpg", "upload_date" : "2024-02-01T10:00:00" }{ "index" : { "_id" : "2" } }{ "photo_id" : "photo2.jpg", "upload_date" : "2024-02-01T10:05:00" }{ "index" : { "_id" : "3" } }{ "photo_id" : "photo12.jpg", "upload_date" : "2024-02-01T10:10:00" }{ "index" : { "_id" : "4" } }{ "photo_id" : "photo111.jpg", "upload_date" : "2024-02-01T10:15:00" }### 執(zhí)行檢索GET /my_photos/_search{  "query": {    "match_all": {}  },  "sort": [    {      "photo_id.keyword": {        "order": "asc"      }    }  ]}

召回結(jié)果,同圖中后半部分結(jié)果一致。aI128資訊網(wǎng)——每日最新資訊28at.com

圖片圖片aI128資訊網(wǎng)——每日最新資訊28at.com

結(jié)果并沒有達到預期。aI128資訊網(wǎng)——每日最新資訊28at.com

而可行的解決方案,還得從文件名入手才可以。圖像文件名包含數(shù)字,需要根據(jù)這些數(shù)字進行排序,這才是根本!aI128資訊網(wǎng)——每日最新資訊28at.com

3、解決方案實現(xiàn)

我們采用兩種不同的解決方案來嘗試解決這個問題。aI128資訊網(wǎng)——每日最新資訊28at.com

第一種:基于腳本排序。aI128資訊網(wǎng)——每日最新資訊28at.com

第二種:復雜問題簡單化,預處理管道拆分出數(shù)值字段,基于數(shù)值排序。aI128資訊網(wǎng)——每日最新資訊28at.com

3.1 方案1:腳本排序?qū)崿F(xiàn)

使用 _script 進行排序是一種靈活的方法,它允許我們編寫自定義腳本來解析文件名并提取排序依據(jù)的數(shù)字。aI128資訊網(wǎng)——每日最新資訊28at.com

GET /my_photos/_search{  "query": {    "match_all": {}  },  "sort": {    "_script": {      "type": "number",      "script": {        "lang": "painless",        "source": """          String photoId = doc['photo_id.keyword'].value;          if (photoId == null) return 0;          Matcher m = /[0-9]+/.matcher(photoId);          if (m.find()) {            return Integer.parseInt(m.group(0));          } else {            return 0;          }        """      },      "order": "asc"    }  }}

執(zhí)行結(jié)果已經(jīng)有序:aI128資訊網(wǎng)——每日最新資訊28at.com

圖片圖片aI128資訊網(wǎng)——每日最新資訊28at.com

上述腳本基于正則表達式從photo_id字段中查找并提取出數(shù)字,如果找到就返回這個數(shù)字,如果找不到就返回0。aI128資訊網(wǎng)——每日最新資訊28at.com

這樣的操作對于根據(jù)數(shù)字對文檔進行排序非常有用。aI128資訊網(wǎng)——每日最新資訊28at.com

雖然這種方法非常強大,但它可能會因為腳本的執(zhí)行而影響查詢性能,數(shù)據(jù)量巨大的時候,咱們要慎用!aI128資訊網(wǎng)——每日最新資訊28at.com

3.2 方案2:預處理解決方案實現(xiàn)

除了上面的方案,另一種方法是在索引數(shù)據(jù)時使用Ingest管道預處理圖像文件名。aI128資訊網(wǎng)——每日最新資訊28at.com

這樣可以在數(shù)據(jù)索引時就提取出文件名中的數(shù)字并存儲在一個專門的字段中。aI128資訊網(wǎng)——每日最新資訊28at.com

這種方法的好處是可以顯著提高排序的效率,因為數(shù)字已經(jīng)被預處理并作為數(shù)值類型存儲,使得排序操作更加快速。aI128資訊網(wǎng)——每日最新資訊28at.com

就是開頭咱們提到的復雜問題簡單化。aI128資訊網(wǎng)——每日最新資訊28at.com

創(chuàng)建預處理管道,基于 grok 提取數(shù)值字段

PUT _ingest/pipeline/extract_photo_number{  "description": "Extracts numbers from photo_id and stores it in photo_number",  "processors": [    {      "grok": {        "field": "photo_id",        "patterns": ["%{NUMBER:photo_number:int}"]      }    }  ]}DELETE my_photos_20240201### 創(chuàng)建索引的時候,記得指定上面創(chuàng)建好的預處理管道。### 新增的字段photo_number,和上面的預處理管道獲取的字段一一對應。PUT my_photos_20240201{  "settings": {    "default_pipeline":"extract_photo_number"  },   "mappings": {    "properties": {      "photo_id": {        "type": "text",        "fields": {          "keyword": {            "type": "keyword",            "ignore_above": 256          }        }      },      "photo_number": {        "type": "long"      },      "upload_date": {        "type": "date"      }    }  }}### 批量寫入數(shù)據(jù)POST /my_photos_20240201/_bulk{ "index" : { "_id" : "1" } }{ "photo_id" : "photo1.jpg", "upload_date" : "2024-02-01T10:00:00" }{ "index" : { "_id" : "2" } }{ "photo_id" : "photo2.jpg", "upload_date" : "2024-02-01T10:05:00" }{ "index" : { "_id" : "3" } }{ "photo_id" : "photo12.jpg", "upload_date" : "2024-02-01T10:10:00" }{ "index" : { "_id" : "4" } }{ "photo_id" : "photo111.jpg", "upload_date" : "2024-02-01T10:15:00" }### 執(zhí)行檢索和排序POST my_photos_20240201/_search{  "query": {    "match_all": {}  },  "sort": [    {      "photo_number": {        "order": "asc"      }    }  ]}

官方文檔參考:aI128資訊網(wǎng)——每日最新資訊28at.com

https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.htmlaI128資訊網(wǎng)——每日最新資訊28at.com

執(zhí)行結(jié)果如下:aI128資訊網(wǎng)——每日最新資訊28at.com

圖片圖片aI128資訊網(wǎng)——每日最新資訊28at.com

與腳本排序?qū)Ρ瓤梢钥闯觯?span style="display:none">aI128資訊網(wǎng)——每日最新資訊28at.com

  • 預處理方案數(shù)據(jù)的處理邏輯前移,發(fā)生在數(shù)據(jù)索引的階段,而非查詢階段;
  • 查詢時可以直接依據(jù)數(shù)值類型的 photo_number字段進行快速排序,無需在查詢時動態(tài)解析文本字段,從而提高了查詢性能,并減少了對資源的消耗。
  • 還提升了數(shù)據(jù)結(jié)構的清晰度和索引的整體效率。

4、小結(jié)

本文探討了在Elasticsearch中對包含數(shù)字的圖像文件名進行排序的挑戰(zhàn)及其解決方案。aI128資訊網(wǎng)——每日最新資訊28at.com

在選擇哪種方案時,我們需要考慮實際需求和系統(tǒng)資源。aI128資訊網(wǎng)——每日最新資訊28at.com

如果對性能有較高要求,預處理方案更為合適。但如果需求復雜多變,可能需要腳本排序的靈活性。aI128資訊網(wǎng)——每日最新資訊28at.com

我更想跟大家探討的是:未來的數(shù)據(jù)建模應考慮到數(shù)據(jù)的索引和查詢模式。aI128資訊網(wǎng)——每日最新資訊28at.com

例如,如果我們知道將來需要按照文件名中的數(shù)字排序,那么在設計數(shù)據(jù)模型時就應該考慮到這一點,以便于實現(xiàn)高效的查詢。aI128資訊網(wǎng)——每日最新資訊28at.com

前置考慮得越充分,后面就越省事!aI128資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-71940-0.html來自釘釘群的問題—Elasticsearch 如何實現(xiàn)文件名自定義排序?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 使用Go Gin SecureJSON技術保護你的JSON數(shù)據(jù)

下一篇: 現(xiàn)代 PHP 應用程序服務器FrankenPHP,自動支持HTTPS/HTTP2/HTTP3

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美日韩一二三四五区| 亚洲高清影视| 欧美成人综合网站| 美女诱惑一区| 免费成人高清| 久久高清免费观看| 亚洲精品资源美女情侣酒店| 亚洲人成绝费网站色www| 亚洲人在线视频| 亚洲乱码国产乱码精品精天堂| 亚洲区欧美区| 一区二区欧美在线| 午夜精品999| 久久精精品视频| 久久综合亚州| 欧美精品www| 欧美午夜一区二区福利视频| 国产精品日韩精品欧美精品| 国产视频久久网| 在线免费观看日本欧美| 亚洲精品久久久久| 亚洲无人区一区| 欧美在线观看视频| 久久一区激情| 美女在线一区二区| 欧美日韩黄视频| 国产欧美日韩| 国产综合色在线| 亚洲国产天堂久久国产91| 日韩午夜av| 亚洲欧美综合另类中字| 久久久中精品2020中文| 欧美精品一区二区精品网| 国产精品天美传媒入口| 伊大人香蕉综合8在线视| 亚洲人成精品久久久久| 亚洲一区美女视频在线观看免费| 久久av一区| 欧美激情精品久久久久久免费印度| 欧美午夜精品久久久久久浪潮| 国产私拍一区| 在线精品在线| 正在播放亚洲一区| 久久精品免费| 欧美精品18videos性欧美| 国产精品―色哟哟| 亚洲高清久久久| 亚洲影音先锋| 欧美96在线丨欧| 国产欧美精品| 亚洲日本乱码在线观看| 午夜精品视频一区| 欧美精品性视频| 国产亚洲欧美日韩在线一区| 亚洲黄色av一区| 午夜综合激情| 免费成人高清| 国产欧美日韩亚洲精品| 亚洲高清激情| 欧美一区永久视频免费观看| 欧美日韩精品国产| 伊人精品在线| 亚洲欧美综合精品久久成人| 欧美激情一区二区三区| 国产一区二区av| 亚洲色图在线视频| 久久综合久久综合九色| 国产精品三级久久久久久电影| 亚洲人成在线播放| 久久精品国产亚洲一区二区| 国产精品成人午夜| 日韩视频在线永久播放| 狂野欧美激情性xxxx欧美| 欧美日韩精选| 亚洲福利视频三区| 欧美在线观看视频一区二区| 欧美视频1区| 亚洲国产黄色| 久久久久久香蕉网| 国产精品一二三视频| 一本一本久久| 欧美二区在线| 在线观看亚洲专区| 欧美影院午夜播放| 欧美高清视频在线| 国产亚洲精品成人av久久ww| 亚洲特色特黄| 欧美三级第一页| 亚洲三级电影在线观看| 免费欧美电影| 悠悠资源网久久精品| 欧美有码视频| 国产午夜精品视频免费不卡69堂| 亚洲永久精品国产| 国产精品jizz在线观看美国| 亚洲激情欧美激情| 开心色5月久久精品| 国内久久婷婷综合| 亚洲网站视频| 欧美视频在线一区二区三区| aaa亚洲精品一二三区| 欧美激情综合网| 亚洲精品1区2区| 免费成人激情视频| 亚洲国产99精品国自产| 久久婷婷蜜乳一本欲蜜臀| 欧美视频一区二| 亚洲少妇诱惑| 国产精品久久久久7777婷婷| 亚洲午夜av电影| 欧美性一区二区| 亚洲一区二区三区免费在线观看| 欧美日韩一区二区三区四区五区| 日韩一区二区久久| 欧美日韩精品综合| 亚洲视频网在线直播| 欧美视频一区在线观看| 亚洲一区二区不卡免费| 国产精品久久久久久久久免费桃花| 在线亚洲一区| 国产精品成人一区二区网站软件| 亚洲一区二区三区精品在线| 国产精品激情| 小嫩嫩精品导航| 激情偷拍久久| 欧美精品九九99久久| 在线视频欧美精品| 国产精品欧美风情| 欧美影院午夜播放| 一区二区三区中文在线观看 | 亚洲乱码国产乱码精品精天堂| 欧美大胆人体视频| 亚洲精品视频免费观看| 欧美三级小说| 亚久久调教视频| 欧美激情一区三区| 亚洲视频福利| 国产视频欧美视频| 美国十次成人| 亚洲乱亚洲高清| 国产精品免费视频xxxx| 久久精品亚洲精品| 亚洲人精品午夜| 欧美性感一类影片在线播放| 午夜视频久久久| 在线播放不卡| 午夜久久黄色| 最新热久久免费视频| 国产麻豆91精品| 欧美激情久久久久久| 欧美一区国产二区| 亚洲作爱视频| 伊人久久久大香线蕉综合直播| 国产精品第2页| 欧美成人黄色小视频| 欧美一乱一性一交一视频| 亚洲乱码国产乱码精品精| 狠狠色伊人亚洲综合网站色| 国产精品久久久久久久浪潮网站 | 亚洲免费激情| 在线观看三级视频欧美| 国产精品一区二区女厕厕| 欧美精品国产一区| 久久久综合网站| 亚洲在线视频观看| 亚洲狼人精品一区二区三区| 极品日韩av| 国产丝袜一区二区| 国产精品美女在线观看| 欧美精品一区视频| 裸体一区二区三区| 欧美专区在线观看| 亚洲欧美www| 99在线精品观看| 亚洲激情校园春色| 韩曰欧美视频免费观看| 国产精品日韩精品| 国产精品videosex极品| 欧美日本韩国| 欧美大香线蕉线伊人久久国产精品| 久久久久国产成人精品亚洲午夜| 亚洲欧美日韩专区| 中文在线不卡| 日韩一区二区免费看| 亚洲人成人一区二区在线观看| 在线欧美电影| 影视先锋久久| 在线播放不卡| **欧美日韩vr在线| 加勒比av一区二区| 狠狠色狠狠色综合日日五 | 亚洲专区在线| 亚洲午夜精品视频| 亚洲色图综合久久| 亚洲一区二区高清视频| 国产精品99久久久久久人| 在线视频精品| 在线亚洲+欧美+日本专区| 中文高清一区| 亚洲私人影吧| 午夜精品区一区二区三| 欧美在线啊v一区| 久久久久九九九九| 久久久综合精品|