原创 ElasticSearch使用踩坑——term查詢對中文字符串無效,無法查詢正確數據結果(ElasticSearch中keyword設置的作用)

使用的版本是6.8,配置有ik中文分詞器,並且已經在字段上設置了屬性爲keyword,但是使用term查詢無法生效。 @Field(type = FieldType.Keyword) QueryBuilder queryBuild

原创 Elasticsearch中的_source、_all、store、index

首先要明確一份數據在進入es中之後通常是如何存儲的 原始文檔數據在進入es中之後,es會將其存爲兩份,一部分是對其中的索引字段數據進行分詞索引,然後存儲所有的分詞索引結果,這個結果並不一定是整個文檔數據(通常都指定索引部分字段)。而另

原创 Elasticsearch中的查詢API使用——term,match,query_string

 1. match:模糊匹配,需要指定字段名在指定字段上進行搜索,並且會對輸入的查詢字符串進行分詞,依據分詞的結果進行查詢。Java API使用如下 // 構建查詢條件 NativeSearchQuery

原创 TCP/IP學習——IP協議的輔助協議

  在TCP/IP網絡模型中,網絡層僅憑藉IP協議是無法實現通信功能,還需要其他技術或者協議輔助實現。比如在進行web頁面訪問時,不會直接輸入IP地址進行通信,而是輸入網址,那麼就需要一種技術將這個網址轉換爲對應的IP地址纔行。下面介

原创 MySQL深入學習(5)——索引

在學習索引之前,必須要先去了解B+樹的數據結構以及其相關算法知識,本文中不做詳細講解。可以參考我的另一篇文章y有關於B與B+樹的介紹 1. InnoDB存儲引擎索引類型 剛開始接觸MySQL中的索引時,真的很迷,因爲其索引分類真的搞

原创 zookeeper安裝與簡單使用

1、下載 首先我們下載最新穩定版本的zookeeper http://apache.fayea.com/zookeeper/stable/ 2、解壓 下載完成後,我們解開壓縮包 zookeeper運行最重要的四個文件 3、創建配置文件

原创 Zookeeper入門——Zookeeper的Java客戶端API(2)

基本所有的對於節點數據讀寫都有同步和異步兩個版本的重載方法,而且都可以通過該方法向某個節點上註冊一個監視器Watcher,異步版本僅僅是多了一個回調接口和傳遞一個上下文對象參數,這兩個參數作用都是相同的。 1. 獲取節點的子節點列表

原创 Zookeeper入門——Zookeeper的Java客戶端API(1)

搜了一些Zookeeper的相關書籍和博客,但好多基本都是講Zookeeper的架構、用途,尤其分佈式中的應用講的真的是天花亂墜,但看完還是不會寫代碼,搞得自己理論豐富的一批,實踐完全懵逼。對於Zookeeper的Java客戶端API使

原创 計算機網絡基礎瞭解

    1. 協議 1.1 什麼是網絡協議     1. 簡單來說,網絡協議就相當於任意兩臺計算機之間指定達成的一種“約定”,這個“約定”規定了進行網絡通信時發送的數據格式以及進行數據打包、拆封數據包的方式等,只要遵守協議的實現,那麼兩

原创 MySQL深入學習(2)——InnoDB存儲引擎

1. InnoDB存儲引擎體系架構      innoDB的存儲引擎主要體系結構如上圖所示     首先是工作線程:默認7個後臺線程,分別是4個io thread(insert buffer、log、read、write),1個mast

原创 學習設計模式——裝飾者模式

【推薦】2019 Java 開發者跳槽指南.pdf(吐血整理) >>> 在現實生活中,常常需要對現有產品增加新的功能或美化其外觀,如房子裝修、相片加相框等。在軟件開發過程中,有時想用一些現存的組件。這些組件可能只是完成了一些核心

原创 Netty學習(7)——AIO

  1. NIO2.0——AIO     1. 從某種程度上來說,NIO依然是同步阻塞的 雖然NIO中Channel(網絡Channel)和Buffer可以實現非阻塞的read/write操作,而且Selector提供了多路複用的功能,

原创 Redis應用——緩存一致性問題的解決方式

爲什麼產生緩存一致性問題 在使用Redis等緩存中間件的時候,一定會遇到一個問題就是緩存一致性的問題(面試只要提到緩存也是必問的)。所謂緩存一致性問題就是,當某一個線程在做緩存與數據庫的更新操作時,這兩步操作一定是分開進行的,所以就會出現

原创 MySQL深入學習(4)——分區表

1. 概述     分區功能其實並不是在存儲引擎層完成的,所以並不是只有InnoDB存儲引擎支持分區,常見的存儲引擎MyISAM、NDB等都支持。但也並不是所有的存儲引擎都支持。     分區是將一個表的數據按照某種方式,比如按照時間上的

原创 Netty學習筆記(5)——NIO中的Scatter/Gather機制

  1. Scatter/Gather機制簡介     1. Scatter機制:即發散機制。發散指的是從Channel中讀取是指在讀操作時將讀取的數據寫入多個buffer中。因此,Channel將從Channel中讀取的數據“分散(s