es採坑記錄

2021-10-08 08:00:15 字數 910 閱讀 9414

,

「code」: ,

「cost_millis」: ,

「message」: ,

「name」: ,

「request_header」: ,

「request_method」: ,

「request_param」: ,

「request_time」: ,

「request_url」: ,

「response_code」: ,

「response_header」: ,

「username」: }},

「log」: ,

「@version」: ,

「beat」: ,

「name」: }},

「count」: ,

「host」: ,

「input_type」: ,

「message」: ,

「offset」: ,

「source」: ,

「tags」: ,

「type」: }}

}然後低版本的es,預設都是string型別,沒有text和keyword型別,索引預設都是分詞的,如果不分詞,需要指定type為not_analyzed。

所以系統的時間因為分詞了,按時間排序和按時間搜尋也就失效了。一開始想的是找時間的逗號問題,但是用沒有逗號的時間也是排序無效,以前雖然接觸過slor,但是沒往這方面想。後來再群裡問了一下,說可能是分詞。就在postman上測試,排序,

},「from」: 1,

「size」: 20

}最終發現,sort欄位不是完整的時間字段。

最後解決了排序問題。

又面臨舊資料匯入新的資料的問題,一開始想到了reindex,但是舊版本好像不支援,又看了看說logstash可以直接指定輸出到指定的es下。最後用logstash把舊資料匯入完成了

採坑記錄switch坑

speed 0 switch speed speed 初始化為0後,你猜最終列印的結果是誰,最終列印的是150 因為switch條件的case判斷時只會有兩種結果,true false 初始化speed為0 走到第乙個case裡面,speed 不大於等於100 返回false,坑來了,因為初始值為0...

Tomcat採坑記錄

關於編碼 tomcat容器執行環境有自己的預設編碼,跟本地main方法測試環境的預設編碼可能不一樣,有時候本地測試正確的同樣 放到tomcat容器裡面就會出現中文亂碼。本地測試正常 bufferedreader br new bufferedreader new filereader tes.txt...

vue採坑記錄

1在watch或created 獲取資料 裡操作dom 用this.nexttick function watch裡面方法,注意 時,this作用域的變化。2路由變化,頁面資料不變化 原因 vue router的history模式 方法 監聽路由 watch 複製 3setinterval路由跳轉,...