原创 elasticsearch之UpdateByQueryRequest

如果更新一條文檔,而且知道文檔id的前提下可以使用UpdateRequest即可實現,代碼如下: /** * 根據文檔id更新 * @throws IOException */ @Test public void te

原创 RestHighLevelClient批量刪除滿足某些條件的數據

這個可以通過DeleteByQueryRequest來實現,實例代碼如下 /** * 批量刪除文檔 * @throws IOException */ @Test public void deleteByQueryReq

原创 將ip轉換爲地理位置存入elasticsearch

有些需要將一些數據基於地址位置進行分析,比如哪些區域比較活躍,在什麼時間範圍內活躍,但是後端僅能獲取ip地址,因此需要將ip地址轉換爲地理位置,幸運的是我們有開源的工具可以使用,maxmind/GeoIP2-java使用GeoLite2-

原创 RestHighLevelClient一次查詢多個條件

就像bulk在多文檔索引時提高效率一樣,msearch也能提升多個查詢的執行效率,這裏主要考慮到網絡消耗,使用search查詢可能要循環執行N遍,但是使用msearch一次從客戶端一次客戶請求即可。下面給出實例代碼: @Test p

原创 拓撲排序及java實現

拓撲排序是通過對有向無環圖進行深度優先搜索實現的,對於一個有向無環圖G來說,其拓撲排序是G中所有節點的一種線性排序,有很多生活活動都可以使用有向無環圖來指明事件的優先順序,比如下圖所示的早晨起牀過程: 上圖爲某人的早晨起牀涉及的一系列活

原创 poi操作word實現分頁

首先說下,poi實現word分頁並不像很多網站說的只有一種方式! 需求場景: 1、在word模板基礎上多次創建一個表格模板 2、該表格模板不能沾滿一頁,及時能佔滿拷貝時也存在一些問題,表格模板如下所示 先使用 XWPFDocument

原创 一個TCP連接可以發送多少個HTTP請求?

一道經典的面試題是從URL在瀏覽器被輸入到頁面展現的過程中發生了什麼?大多數回答都是請求響應之後DOM是怎麼被構建、被繪製出來。 但是你有沒想過,收到的HTML如果包含幾十個圖片標籤,這些圖片是以什麼方式、什麼順序、建立了多少連接、使用什

原创 詳解springboot通過spi機制加載mysql驅動過程

SPI是一種JDK提供的加載插件的靈活機制,分離了接口與實現,就拿常用的數據庫驅動來說,我們只需要在spring系統中引入對應的數據庫依賴包(比如mysql-connector-java以及針對oracle的ojdbc6驅動),然後在ym

原创 究竟什麼樣的開發流程是規範的

概述 有讀者反饋,讀了文章 一線技術管理者究竟在管什麼事? 收穫滿滿,但還有點不過癮,還想了解更細的東西... 這篇文章分享開發流程規範,目的是提高產品質量,優化開發流程,供大家參考。 規範是死的,人是活的,希望自己定的規範,不要被打臉。

原创 使用zipkin監控spring cloud gateway

spring cloud gateway是spring cloud家族最新的api網關,之前用的是netflix zuul 1.0,netflix 2.0最終沒有孵化出來,於是spring自己開發了現在的spring cloud gate

原创 elasticsearch分頁獲取數據

提到elasticsearch分頁,可能首先想到的是類似mysql的那種處理方式,傳入分頁起始值以及每頁數據量,es確實提供了類似的處理策略,代碼如下: @Test public void searchFromSize() thro

原创 elasticsearch5.x以後版本引入中文分詞器

由於elasticsearch自帶的分析器(analyzer)對中文分析效果無法達到中國地區的需求,幸運的是我們可以使用elasticsearch-analysis-ik來​​​​​​插件來完善elasticsearch對中文的處理能力。

原创 elasticsearch實現類似京東的商品搜索效果(elasticsearch動態聚合)

用到京東的對其搜索應該不會陌生,其搜索也是使用elasticsearch完成的,下圖爲一個搜索效果圖:   搜索篩選條件會根據查詢返回的結果動態變化,要實現這個功能就要用到elasticsearch的聚合功能,先看下商品索引對應的映射:

原创 關閉jpa事務

使用下面的配置可以關閉jpa的默認事務 @EnableJpaRepositories(basePackages = {"jtl3d.smp.repository"}, repositoryBaseClass = CustomSimple

原创 使用zipkin追蹤mysql8

zipkin是一種分佈式調用追蹤系統,通過該工具,我們可以清晰快速的定位問題,zipkin監控基礎搭建過程可以參考筆者的另一篇博文https://blog.csdn.net/john1337/article/details/1041785