中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Elasticsearch 同一索引不同類型下同名字段的映射沖突實(shí)例
來源:易賢網(wǎng) 閱讀:4573 次 日期:2015-04-09 15:58:34
溫馨提示:易賢網(wǎng)小編為您整理了“Elasticsearch 同一索引不同類型下同名字段的映射沖突實(shí)例”,方便廣大網(wǎng)友查閱!

這個(gè)標(biāo)題肯定繞暈很多人吧。具體說明一下場景就明白了:Nginx 和 Apache 的訪問日志,因?yàn)槎紝儆诰W(wǎng)站訪問,所以寫入到同一個(gè)索引的不同類型下,比方 logstash-accesslog-2015.04.03/nginx 和 logstash-accesslog-2015.04.03/apache。既然都是訪問日志,肯定很多字段的內(nèi)容含義是雷同的,比如 clientip, domain, urlpath 等等。其中 nginx 有一個(gè)變量叫 $request_time,apache 有一個(gè)變量叫 %T,乍看上去也是同義的,我就統(tǒng)一命名為 “requestTime” 了。這就是”同一索引(logstash-accesslog-YYYY.MM.DD)下不同類型(nginx,apache)的同名字段(requestTime)”。

但事實(shí)上,這里有個(gè)問題:nginx 中的以秒為單位,是把毫秒算作小數(shù);apache 中的以秒為單位,是真的只記秒鐘整數(shù)位!

所以,這兩個(gè)類型生成的映射在這個(gè)字段上是不一致的。nginx 類型的 requestTime 是 double,apache 類型的 requestTime 是 long。

不過平常看起來似乎也沒什么影響,寫入數(shù)據(jù)都照常,查看數(shù)據(jù)的時(shí)候默認(rèn)顯示的 JSON 也各自無異。直到我準(zhǔn)備用一把 scripted field 的時(shí)候,發(fā)現(xiàn)計(jì)算 doc['requestTime'].value * 1000 得到的數(shù)都大的嚇人!

因?yàn)轭愃朴?jì)算之前在只有 nginx 日志入庫的時(shí)候曾經(jīng)正確運(yùn)行過,所以只能是猜測 apache 日志對此造成了影響,但是即使我把請求修改成限定在 nginx 類型數(shù)據(jù)中進(jìn)行,結(jié)果也沒發(fā)生變化。

仔細(xì)閱讀 scripting module 的文檔,其中提到了 doc['fieldname'].value 和 _source.fieldname 兩種寫法的區(qū)別:前者會利用內(nèi)存中的數(shù)據(jù),而后者強(qiáng)制讀取磁盤上 _source 存儲的 JSON 內(nèi)容,從中釋放出相應(yīng)字段內(nèi)容。莫非是 requestTime 字段跟 _source JSON 里存的數(shù)據(jù)確實(shí)不一樣,而我們平常搜索查看的都是從 JSON 里釋放出來的,所以才會如此?

為了驗(yàn)證我的猜測,做了一個(gè)請求測試:

# curl es.domain.com:9200/logstash-accesslog-2015.04.03/nginx/_search?q=_id:AUx-QvSBS-dhpiB8_1f1&pretty -d '{

"fields": ["requestTime", "bodySent"],

"script_fields" : {

"test1" : {

"script" : "doc["requestTime"].value"

},

"test3" : {

"script" : "_source.bodySent / _source.requestTime"

},

"test2" : {

"script" : "doc["requestTime"].value * 1000"

}

}

}'

得到的結(jié)果如下:

{

"took" : 43,

"timed_out" : false,

"_shards" : {

"total" : 56,

"successful" : 56,

"failed" : 0

},

"hits" : {

"total" : 1,

"max_score" : 1.0,

"hits" : [ {

"_index" : "logstash-accesslog-2015.04.03",

"_type" : "nginx",

"_id" : "AUx-QvSBS-dhpiB8_1f1",

"_score" : 1.0,

"fields" : {

"test1" : [ 4603039107142836552 ],

"test2" : [ -8646911284551352000 ],

"requestTime" : [ 0.54 ],

"test3" : [ 2444.4444444444443 ],

"bodySent" : [ 1320 ]

}

} ]

}

}

果然!直接讀取的字段,以及采用 _source.fieldname 方式讀取的內(nèi)容,都是正確的;而采用 doc['fieldname'].value 獲取的內(nèi)存數(shù)據(jù),就不對。(0.54 存成 long 型會變成 4603039107142836552。這個(gè) 460 還正好能跟 540 湊成 1000,應(yīng)該是某種特定存法,不過這里我就沒深究了)

再作下一步驗(yàn)證。我們知道,ES 數(shù)據(jù)的映射是根據(jù)第一條數(shù)據(jù)的類型確定的,之后的數(shù)據(jù)如何類型跟已經(jīng)成型的映射不統(tǒng)一,那么寫入會失敗。現(xiàn)在這個(gè) nginx 和 apache 兩個(gè)類型在 requestTime 字段上的映射是不一樣的,但是內(nèi)存里卻并沒有按照映射來處理。那么,我往一個(gè)類型下寫入另一個(gè)類型映射要求的數(shù)據(jù),會報(bào)錯(cuò)還是會通過呢?

# curl -XPOST es.domain.com:9200/test/t1/1 -d '{"key":1}'

{"_index":"test","_type":"t1","_id":"1","_version":1,"created":true}

# curl -XPOST es.domain.com:9200/test/t2/1 -d '{"key":2.2}'

{"_index":"test","_type":"t2","_id":"1","_version":1,"created":true}

# curl -XPOST es.domain.com:9200/test/t1/2 -d '{"key":2.2}'

{"_index":"test","_type":"t1","_id":"2","_version":1,"created":true}

# curl -XPOST es.domain.com:9200/test/t2/2 -d '{"key":1}'

{"_index":"test","_type":"t2","_id":"2","_version":1,"created":true}

# curl -XPOST es.domain.com:9200/test/t1/3 -d '{"key":"1"}'

{"_index":"test","_type":"t1","_id":"3","_version":1,"created":true}

# curl -XPOST es.domain.com:9200/test/t2/3 -d '{"key":"1"}'

{"_index":"test","_type":"t2","_id":"3","_version":1,"created":true}

# curl -XPOST es.domain.com:9200/test/t2/4 -d '{"key":"abc"}'

{"error":"RemoteTransportException[[10.10.10.10][inet[/10.10.10.10:9300]][indices:data/write/index]]; nested: MapperParsingException[failed to parse [key]]; nested: NumberFormatException[For input string: "abc"]; ","status":400}

# curl -XGET es.domain.com:9200/test/_mapping

{"test":{"mappings":{"t1":{"properties":{"key":{"type":"long"}}},"t2":{"properties":{"key":{"type":"double"}}}}}}

結(jié)果出來了,在映射相互沖突以后,實(shí)際數(shù)據(jù)只要是 numeric detect 能通過的,就都通過了!

BTW: kibana 4 中,已經(jīng)會對這種情況以黃色感嘆號圖標(biāo)做出提示;而根據(jù)官方消息,ES 未來會在 2.0 版正式杜絕這種可能。

更多信息請查看IT技術(shù)專欄

更多信息請查看技術(shù)文章
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲女人天堂成人av在线| 欧美大片va欧美在线播放| 亚洲精品女av网站| 午夜精品久久久久久久99黑人| 欧美亚洲视频| 国产精品护士白丝一区av| 亚洲美女视频在线观看| 久久乐国产精品| 黄色另类av| 另类av导航| 久久亚洲视频| 国产精品系列在线播放| 国内揄拍国内精品少妇国语| 亚洲欧美日韩中文视频| 亚洲美女区一区| 99re热这里只有精品免费视频| 亚洲精选一区| 激情懂色av一区av二区av| 欧美精品xxxxbbbb| 欧美精品v日韩精品v韩国精品v| 欧美一区二区黄| 亚洲免费一区二区| 在线亚洲精品| 这里只有精品在线播放| 99天天综合性| 亚洲一区二区综合| 欧美亚洲在线观看| 久久精品二区三区| 免费日韩精品中文字幕视频在线| 久久精品国产一区二区三区| 久久视频在线视频| 欧美系列亚洲系列| 欧美日韩性生活视频| 一本大道久久a久久综合婷婷| 国产精品剧情在线亚洲| 欧美精品网站| 久久精品国产亚洲高清剧情介绍| 国产日韩欧美综合一区| 理论片一区二区在线| 久久久久国产精品一区| 国产欧美va欧美va香蕉在| 性欧美大战久久久久久久免费观看| 亚洲高清不卡av| 国产亚洲综合精品| 国产精品中文字幕在线观看| 蜜桃伊人久久| 久久久久欧美| 免费观看在线综合| 嫩草国产精品入口| 久久人人精品| 理论片一区二区在线| 国产精品高清网站| 国产一本一道久久香蕉| 一本大道久久a久久综合婷婷 | 亚洲女爱视频在线| 久久久久一区二区三区四区| 欧美国产激情| 狠狠色狠狠色综合日日小说| 亚洲国产毛片完整版 | 伊人春色精品| 国产视频一区在线观看| 久久久国产亚洲精品| 久久久久国产一区二区三区| 久久九九久精品国产免费直播| 久久综合久久综合久久| 国产精品系列在线播放| 亚洲在线一区| 国产精品国产一区二区| 国产精品捆绑调教| 亚洲美女啪啪| 欧美性猛交xxxx乱大交退制版 | 午夜精品久久久久久久99黑人| 美女免费视频一区| 国产日韩欧美夫妻视频在线观看| 亚洲精品字幕| 欧美美女视频| 一二三区精品福利视频| 欧美久久电影| 午夜精品国产更新| 一区二区三区日韩精品| 麻豆精品精品国产自在97香蕉| 国产精品久久久一本精品| 欧美一区影院| 韩国欧美国产1区| 狂野欧美一区| 在线观看精品| 欧美激情一区二区| 亚洲一本视频| 亚洲国产另类 国产精品国产免费| 欧美成人一区在线| 亚洲主播在线观看| 亚洲国产精品一区二区www| 欧美午夜片欧美片在线观看| 久久精品系列| 一本久久a久久精品亚洲| 激情综合电影网| 国产欧美另类| 欧美三级在线| 欧美国产日韩一区二区在线观看 | 久久精品99无色码中文字幕| 亚洲精品美女| 亚洲黄色免费电影| 精品1区2区3区4区| 国产欧美日本一区二区三区| 国产精品99免费看| 欧美日韩免费观看一区三区| 欧美激情视频网站| 欧美精品久久久久久久| 免费看成人av| 久久久97精品| 久热精品视频在线观看一区| 久久婷婷一区| 免费成人毛片| 欧美理论电影在线播放| 欧美日韩国产精品成人| 欧美精品在线看| 欧美三区视频| 国产夜色精品一区二区av| 狠狠综合久久| 亚洲美女一区| 亚洲欧美日韩区| 久久中文字幕导航| 欧美高清视频免费观看| 欧美日韩综合在线免费观看| 国产精品美女主播在线观看纯欲| 欧美日韩一区成人| 狠狠干狠狠久久| 一区二区三区产品免费精品久久75 | 亚洲国产一成人久久精品| 亚洲经典视频在线观看| 夜夜嗨av一区二区三区网页| 亚洲欧美日韩国产综合精品二区| 香蕉尹人综合在线观看| 欧美激情aaaa| 国产真实精品久久二三区| 亚洲乱码精品一二三四区日韩在线| 亚洲桃色在线一区| 美女在线一区二区| 国产日韩欧美精品| 一区二区日韩伦理片| 欧美成人免费网| 国产农村妇女毛片精品久久莱园子| 黄色成人在线免费| 欧美在线视频免费观看| 欧美性一区二区| 亚洲国产成人精品久久| 亚洲欧美区自拍先锋| 欧美精品日韩| 狠狠爱综合网| 久久人人精品| 亚洲欧洲精品一区二区| 亚洲自拍偷拍一区| 国产欧美视频一区二区三区| 亚洲欧美在线一区| 国产一区二区成人| 久久精品国产999大香线蕉| 国产一区二区三区精品久久久 | 亚洲精品国产日韩| 美女精品在线观看| 99综合在线| 国产美女精品视频| 久久精品一本| 亚洲国产日韩欧美| 欧美精品二区三区四区免费看视频| 日韩视频第一页| 狠狠综合久久av一区二区小说| 猛男gaygay欧美视频| 宅男精品导航| 亚洲第一天堂无码专区| 欧美日韩中文另类| 久久久综合香蕉尹人综合网| 亚洲人体一区| 好吊色欧美一区二区三区四区| 欧美精品免费视频| 久久激情久久| 亚洲免费视频观看| 日韩午夜免费| 亚洲精品看片| 欧美精品999| 暖暖成人免费视频| 久久综合网色—综合色88| 亚洲欧美国产日韩天堂区| 亚洲国产专区校园欧美| 一区在线影院| 一色屋精品视频在线观看网站| 国产精品视频网址| 国产精品婷婷午夜在线观看| 欧美日韩一区二区三区四区在线观看 | 国产欧美日韩一区二区三区在线| 欧美在线www| 羞羞漫画18久久大片| 亚洲欧美日本在线| 欧美亚洲专区| 国产毛片一区二区| 国产乱肥老妇国产一区二| 国产视频一区在线| 亚洲成人在线网| 亚洲精品日韩综合观看成人91| 亚洲人成高清| 伊人狠狠色丁香综合尤物|