精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Elasticsearch中使用Runtime Fields

開發(fā) 前端
在我們使用es的開發(fā)過程中可能會遇到這么一種情況,比如我們的線路名稱字段lineName字段在設置mapping的時候使用的是text類型,但是后期發(fā)現(xiàn)需要使用這個字段來進行聚合操作,那么我們除了對索引進行reindex操作外,還有什么辦法可以解決這個問題呢?

1、背景

在我們使用es的開發(fā)過程中可能會遇到這么一種情況,比如我們的線路名稱字段lineName字段在設置mapping的時候使用的是text類型,但是后期發(fā)現(xiàn)需要使用這個字段來進行聚合操作,那么我們除了對索引進行reindex操作外,還有什么辦法可以解決這個問題呢?此處我們通過runtime field來解決。

2、runtime field介紹

2.1 runtime field可以實現(xiàn)的功能

運行時字段是在查詢時評估的字段。是在es7.11之后增加的運行時字段使您能夠:

  1. 將字段添加到現(xiàn)有文檔,而無需重新索引數(shù)據(jù)
  2. 在不了解數(shù)據(jù)結構的情況下開始處理數(shù)據(jù)
  3. 在查詢時覆蓋從索引字段返回的值
  4. 定義特定用途的字段,而不修改原始mappingruntime field 的作用

2.2 runtime field優(yōu)缺點

  1. runtime field是運行時增加的字段,不會被索引和存儲,不會增加索引的大小。
  2. runtime field 可以像普通字段一樣使用,可以進行查詢,排序,聚合等操作。
  3. 可以動態(tài)的添加字段。
  4. 可以在查詢時覆蓋字段的值。即fields中和_source中可以返回同名的字段,但是值可能不一樣。
  5. 阻止mapping爆炸,可以先使用后定義。
  6. 針對經(jīng)常被搜索或聚合等操作的字段,不適合使用runtime field,而應該定義在mapping中。
  7. runtime field不會出現(xiàn)在_source中,需要通過fields api來獲取。

3、創(chuàng)建runtime field的方式

3.1 通過mapping的方式創(chuàng)建

3.1.1、添加runtime field

PUT /index_script_fields
{
"mappings": {
"runtime": {
"aggLineName": {
"type": "keyword",
"script": {
"source": "emit(doc['lineName'].value)"
}
}
},
"properties": {
"lineId": {
"type": "keyword"
},
"lineName": {
"type": "text"
}
}
}
}

3.1.2、更新 runtime field

POST /index_script_fields/_mapping
{
"runtime": {
"aggLineName": {
"type": "keyword",
"script": {
"source": "emit(doc['lineName'].value)"
}
}
}
}

3.1.3、刪除runtime field

POST /index_script_fields/_mapping
{
"runtime": {
"aggLineName": null
}
}

3.2 通過search request定義runtime field

GET /index_script_fields/_search
{
"runtime_mappings": {
"lineName": {
"type": "keyword",
"script": "emit(params['_source']['lineName']+'new')"
}
},
"query": {
"match_all": {}
},
"fields": [
"lineName"
]
}

通過search request定義runtime field

4、需求

我們存在一個線路mapping,其中lineName在設計的使用使用了text類型,現(xiàn)在我們需要根據(jù)這個字段來進行聚合操作,那么使用runtime field該如何操作呢?

5、實現(xiàn)

5.1 mapping

PUT /index_script_fields
{
"mappings": {
"properties": {
"lineId": {
"type": "keyword"
},
"lineName": {
"type": "text"
}
}
}
}

注意此時的lineName的類型是text

5.2 插入數(shù)據(jù)

PUT /index_script_fields/_bulk
{"index":{"_id":1}}
{"lineId":"line-01","lineName":"線路A"}
{"index":{"_id":2}}
{"lineId":"line-01","lineName":"線路A"}
{"index":{"_id":3}}
{"lineId":"line-02","lineName":"線路C"}

5.3、根據(jù)線路來進行聚合

從上方的mapping中可以lineNametext類型,是不可進行聚合操作的,那么此時我們想進行聚合操作,就可以使用runtime field來實現(xiàn)。

5.3.1 不使用runtime field

不使用runtime field

5.3.2 使用runtime field

5.3.2.1 dsl

GET /index_script_fields/_search
{
"runtime_mappings": {
"aggLineName": {
"type": "keyword",
"script": "emit(params['_source']['lineName']+'new')"
}
},
"query": {
"match_all": {}
},
"fields": [
"lineName"
],
"aggs": {
"agg_line_name": {
"terms": {
"field": "aggLineName",
"size": 10
}
}
}
}

5.3.2.2 java代碼

@Test
@DisplayName("lineName字段是text類型,無法進行聚合操作,定義一個runtime field來進行聚合操作")
public void test01() throws IOException {
SearchRequest request = SearchRequest.of(searchRequest ->
searchRequest.index(INDEX_NAME)
// 查詢所有數(shù)據(jù)
.query(query -> query.matchAll(matchAll -> matchAll))
// runtime field字段不會出現(xiàn)在 _source中,需要使用使用 fields api來獲取
.fields(fields -> fields.field("lineName"))
// 創(chuàng)建一個 runtime filed 字段類型是 keyword
.runtimeMappings("aggLineName", runtime ->
runtime
// 此處給字段類型為keyword
.type(RuntimeFieldType.Keyword)
.script(script ->
script.inline(inline ->
// runtime field中如果使用 painless腳本語言,需要使用emit
inline.lang(ScriptLanguage.Painless)
.source("emit(params['_source']['lineName']+'new')")
)
)
)
// 進行聚合操作
.aggregations("agg_line_name", agg ->
// 此處的 aggLineName即為上一步runtime field的字段
agg.terms(terms -> terms.field("aggLineName").size(10))
)
.size(100)
);

System.out.println("request: " + request);
SearchResponse<Object> response = client.search(request, Object.class);
System.out.println("response: " + response);

5.3.3.3 運行結果

聚合

6、完整代碼

https://gitee.com/huan1993/spring-cloud-parent/blob/master/es/es8-api/src/main/java/com/huan/es8/runtimefield/RuntimeFieldCorrectMappingError.java

7、參考鏈接

1、https://www.elastic.co/guide/en/elasticsearch/reference/8.6/runtime.html?

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-06-09 09:36:18

DjangoElasticSearLinux

2021-08-10 07:27:42

ASP.NETFluentd日志

2021-11-02 13:54:41

ElasticSear.NET程序

2021-03-18 15:10:42

ElasticSearBeta日志

2020-09-07 11:30:47

ElasticSear索引Linux

2009-06-30 16:52:30

DetchedCrit

2023-08-25 09:17:38

2024-08-01 10:10:24

MySQL場景搜索

2021-05-11 09:02:34

OpenSearch存儲Elastcsearc

2024-02-29 08:02:00

2025-07-02 09:00:24

ES運維JSON

2009-06-25 16:49:24

Hibernate

2013-12-13 17:21:14

Lua腳本語言

2023-11-17 12:04:39

GORM并發(fā)

2017-06-07 15:51:50

AndroidAndroid Stuapt

2023-04-12 15:25:09

Bytrace鴻蒙

2013-01-14 12:53:13

Firefox OSIndexedDB

2011-07-08 13:28:10

XCode SVN

2013-01-07 13:54:17

Android開發(fā)JUnit單元測試

2024-06-26 19:14:53

點贊
收藏

51CTO技術棧公眾號

日韩欧美手机在线| 麻豆蜜桃在线观看| 中文字幕一区二区三区欧美日韩 | 99热99热| 久草视频在线观| 国产一区二区三区四区五区传媒| 欧美日韩情趣电影| 大地资源网在线观看免费官网| 韩国av在线免费观看| 在线高清一区| 揄拍成人国产精品视频| 亚洲女人在线观看| 成人午夜视屏| 亚洲精选免费视频| 麻豆蜜桃91| www.国产三级| 久久精品国产在热久久| 91精品国产乱码久久久久久久久 | 欧美专区日韩视频| 欧美成欧美va| 欧美日韩在线播放视频| 精品盗摄一区二区三区| 邪恶网站在线观看| 自拍网站在线观看| 亚洲一区中文日韩| 天天做天天爱天天高潮| 岛国最新视频免费在线观看| 成人夜色视频网站在线观看| 国产精品国内视频| 影音先锋亚洲天堂| 在线不卡亚洲| 色综合久久久888| 69夜色精品国产69乱| 伊人久久大香线蕉| 亚洲精品福利视频| 亚洲av午夜精品一区二区三区| 日韩和的一区二在线| 亚洲成av人片在www色猫咪| 在线免费一区| av在线天堂播放| 久久久久久影视| 蜜桃av噜噜一区二区三区| 亚洲va天堂va欧美ⅴa在线| 麻豆精品久久久| 国产精品激情自拍| 青青草视频在线观看免费| 99热精品在线观看| 高清欧美电影在线| 日本一本高清视频| 激情综合在线| 国外视频精品毛片| 久久露脸国语精品国产91| 好看不卡的中文字幕| 免费91麻豆精品国产自产在线观看| 极品蜜桃臀肥臀-x88av| 全球成人免费直播| 中文字幕av一区| 亚洲一二三四五六区| 国产精品久久久久无码av| 中文字幕亚洲一区在线观看 | 国产成人三级| 一级做a爰片久久毛片美女图片| 能免费看av的网站| 精品国产乱码久久久| 在线观看欧美视频| 羞羞在线观看视频| 一区二区电影| 97精品国产aⅴ7777| wwwxxx亚洲| 热久久免费视频| 91久久精品美女高潮| www.xxx国产| 91丨porny丨在线| 欧美精品国产精品久久久| 91美女视频在线| 亚洲欧美福利一区二区| 色哟哟免费网站| 男人天堂视频在线观看| 在线观看亚洲一区| 最好看的中文字幕| 巨人精品**| 永久免费看mv网站入口亚洲| 欧美一区免费观看| 亚洲国产美女| 国产精品久久久亚洲| 国产三级按摩推拿按摩| www.激情成人| 亚洲免费不卡| 高清电影在线观看免费| 色综合久久综合| 91亚洲一区二区| 香蕉国产成人午夜av影院| 一区二区三区黄色| 懂色av懂色av粉嫩av| 嫩草成人www欧美| 91青草视频久久| 毛片在线免费| 亚洲免费在线视频一区 二区| 免费无码不卡视频在线观看| 国内精品伊人| 亚洲国产古装精品网站| 蜜桃视频最新网址| 午夜在线a亚洲v天堂网2018| 成人写真视频福利网| 天堂资源最新在线| 亚洲欧美日韩久久| 337p粉嫩大胆噜噜噜鲁| 高清在线一区二区| 亚洲人精品午夜在线观看| 国产黄在线免费观看| 久久狠狠一本精品综合网| 97人人干人人| 成av人电影在线观看| 无吗不卡中文字幕| 黄色三级视频在线播放| 自拍欧美一区| 性色av香蕉一区二区| 国产精品欧美久久久久天天影视| 26uuu亚洲| 99国产精品白浆在线观看免费| 日本一区免费网站| 日韩精品在线影院| 国产一级做a爱免费视频| 久久精品免费观看| 欧美一区亚洲二区| 美女视频在线免费| 欧美videos大乳护士334| 国产又色又爽又高潮免费| 99riav国产精品| 9a蜜桃久久久久久免费| 蜜桃视频网站在线| 欧美在线免费观看视频| 大黑人交xxx极品hd| 狠狠综合久久av一区二区老牛| 成人免费自拍视频| av网站无病毒在线| 在线亚洲免费视频| 波多野结衣片子| 免费视频久久| 欧美一卡2卡3卡4卡无卡免费观看水多多| 欧美14一18处毛片| 欧美xxxxxxxx| 久久精品美女视频| 成人h动漫精品一区二区 | 国产精品视区| 精品亚洲欧美日韩| 亚洲小少妇裸体bbw| 亚洲国产另类 国产精品国产免费| 曰本女人与公拘交酡| 国产一区高清在线| 狠狠干视频网站| 秋霞一区二区三区| 欧美另类第一页| 亚洲黄色在线观看视频| 一区二区三区资源| 在线黄色免费网站| 国产毛片久久| 日本一区二区三区在线视频 | 91福利视频在线| 中文字幕在线1| 日韩精品五月天| 亚洲一区二区精品在线| 不卡的国产精品| 久久99视频免费| 内射后入在线观看一区| 精品久久久久久中文字幕一区奶水| 中文字幕精品久久久| 亚洲一区二区毛片| 色综合久久88色综合天天提莫| 精品国产黄a∨片高清在线| 久久久精品亚洲| 亚洲福利在线观看视频| 午夜天堂影视香蕉久久| 欧美多人猛交狂配| 美女诱惑一区二区| 国风产精品一区二区| 久久365资源| 日产精品99久久久久久| 香蕉视频国产在线观看| 欧美一卡二卡三卡四卡| 国产无套粉嫩白浆内谢| 久久老女人爱爱| 91日韩精品视频| 狠狠入ady亚洲精品| 免费日韩电影在线观看| 91精品视频一区二区| 97热精品视频官网| 国产三级视频在线播放线观看| 欧美高清视频一二三区| 久操视频免费在线观看| 久久久久88色偷偷免费| 久久艹这里只有精品| 国产精品久久久亚洲一区| 亚洲一区综合| 欧美理伦片在线播放| 国产欧美精品日韩精品| 俺来俺也去www色在线观看| 国产一级揄自揄精品视频| 成人激情四射网| 欧美中文字幕一二三区视频| 久久久久无码国产精品不卡| 国产日韩综合av| 精品久久久久久无码人妻| 日韩av一区二区在线影视| 97在线免费视频观看| 国内精品视频在线观看| 国产精品久久波多野结衣| 在线国产成人影院| 欧美激情国产高清| 美女隐私在线观看| 国产亚洲美女久久| 欧美 日韩 国产 成人 在线 91| 欧美性色aⅴ视频一区日韩精品| 国产大片aaa| 亚洲欧美激情在线| 欧美午夜激情影院| 久久蜜桃一区二区| 三级黄色片网站| 成人小视频免费观看| 亚洲成人天堂网| 久久精品九九| 777精品久无码人妻蜜桃| 一级毛片免费高清中文字幕久久网| 日韩国产精品一区二区| 一呦二呦三呦国产精品| 国产伦精品一区二区| 日本免费一区二区视频| 91久久精品国产| 日韩久久99| 国产美女直播视频一区| 天然素人一区二区视频| 人人做人人澡人人爽欧美| 成年网站在线视频网站| 欧美大片va欧美在线播放| 免费在线午夜视频| 一区二区福利视频| 爱爱爱免费视频在线观看| 精品一区二区三区四区在线| 三级网站在线看| 欧美精品一区二区三区蜜臀| www.激情五月| 日韩一区二区三区电影在线观看| 一卡二卡三卡在线观看| 欧美体内she精视频| 无码人妻av一区二区三区波多野 | 青青青免费在线| 国产精品二区影院| 欧美中日韩在线| 欧美特黄一区| 岛国大片在线播放| 一区二区三区导航| 成人免费在线小视频| 亚洲女优在线| 欧美国产日韩在线播放| 奇米一区二区三区av| 天堂一区在线观看| 狠狠网亚洲精品| wwwxxxx在线观看| 成人精品视频.| 亚洲一区二区乱码| 久久影音资源网| 1024手机在线观看你懂的| 欧美国产日本韩| 免费看特级毛片| 亚洲一区二区中文在线| 精品在线播放视频| 在线免费精品视频| 一区二区www| 日韩精品专区在线影院观看| 粉嫩小泬无遮挡久久久久久| 日韩电影网在线| 都市激情在线视频| 美日韩精品免费视频| 2020国产在线| 国产精品久久久久久亚洲影视| 啪啪av大全导航福利综合导航| 51精品国产人成在线观看| 国产女人18毛片水真多18精品| 久久久久资源| 国产精品成人一区二区不卡| 国产va亚洲va在线va| 天堂在线亚洲视频| 日本高清一区二区视频| 91在线视频免费91| 乱老熟女一区二区三区| 亚洲制服欧美中文字幕中文字幕| 中文字幕亚洲高清| 欧美精三区欧美精三区| 手机看片福利永久| xvideos成人免费中文版| 超碰在线中文字幕| 成人激情在线观看| 欧美三级午夜理伦三级在线观看 | 麻豆最新免费在线视频| 午夜美女久久久久爽久久| 激情亚洲小说| 久久99精品久久久久久久久久| 色综合久久一区二区三区| 日韩视频免费播放| 久久精品理论片| 亚洲熟妇无码av| 伊人色综合久久天天| 亚洲男人天堂网址| 亚洲成成品网站| 成人免费网址| 国产精品18久久久久久麻辣| 亚洲一区二区三区日本久久九| 色一情一乱一伦一区二区三欧美| 欧美日韩一区二区三区四区在线观看 | 国产狼人综合免费视频| 日韩美女国产精品| 久久这里只有精品8| 久久国产免费看| 在线观看日本中文字幕| 亚洲成av人片一区二区| 精品国产九九九| 色狠狠av一区二区三区香蕉蜜桃| 中文字幕在线免费观看视频| 国产精华一区二区三区| 真实国产乱子伦精品一区二区三区| 国产激情在线观看视频| 99久久精品国产导航| 久久亚洲AV无码| 欧美一区日韩一区| 免费a级毛片在线播放| 国产精品美女午夜av| 免费视频亚洲| 91好吊色国产欧美日韩在线| 国产成人av影院| 久久精品黄色片| 69堂国产成人免费视频| 97在线观看免费观看高清 | 精品国产一区二区三区性色av| 手机在线观看国产精品| 久久久久看片| 国产中年熟女高潮大集合| 欧美性精品220| 欧美大片aaa| 青草成人免费视频| 丝袜美腿综合| 黄在线观看网站| 久久精品亚洲麻豆av一区二区| 在线观看亚洲欧美| 亚洲美女久久久| 91精品韩国| 日韩一区二区三区资源| 日韩av中文字幕一区二区 | 一级日本不卡的影视| 国产三级漂亮女教师| 欧美大奶子在线| 国产成人tv| 一区二区传媒有限公司| 91亚洲精品久久久蜜桃| 91在线视频在线观看| 亚洲欧洲日本专区| 国产精品成人国产| 亚洲精品永久www嫩草| 久久99精品一区二区三区| 国产精品免费人成网站酒店| 日韩欧美美女一区二区三区| 成人影院在线播放| 免费毛片一区二区三区久久久| 日韩成人av影视| 手机在线免费看片| 精品国精品自拍自在线| 亚洲美女尤物影院| 婷婷五月色综合| 国产精一品亚洲二区在线视频| 国产亚洲自拍av| 亚洲欧美综合另类中字| 色狠狠一区二区三区| 欧美高清中文字幕| 久久色中文字幕| 国产精品视频无码| 久久男人的天堂| 成人羞羞网站入口免费| 丰满人妻一区二区三区大胸| 五月综合激情婷婷六月色窝| 激情小视频在线| 亚洲中国色老太| 亚洲欧美久久久| 国产免费久久久久| 亚洲精品国产美女| 欧美成人高清视频在线观看| 女人被男人躁得好爽免费视频| 91丨porny丨中文| 国产视频第二页| 欧美中文在线观看国产| 99九九热只有国产精品| 亚洲国产欧美视频| 欧美一区二区三区白人| 黑人巨大精品欧美一区二区桃花岛| 综合色婷婷一区二区亚洲欧美国产| 成人一区二区三区| 一级黄色大片网站| 久久人人爽人人| 亚洲欧美色图| www成人啪啪18软件| 亚洲国产精品中文| 精品视频在线一区|