原创 lucene索引源碼分析2

上一篇文章大概講了索引從indexwriter到defaultindexchain的過程,也分析了defaultindexchain的基本流程, 主要就是: 將dwpt接收的每個文檔一條條處理---》對每一條文檔再按Field依次處理--

原创 基於lucene的mr索引程序的實現

之前做過一個基於solrJ的mr索引程序,性能並不理想,想着solr的底層就是lucene,所以我用相應版本的lucene做了一個mr程序,程序性能提高了30-40倍(同樣的分詞器),實驗證明創建出來的索引能被solrcloud識別,此程

原创 lucene索引源碼分析1

前面的一些文章主要分析了一些solr索引處理的流程,和索引文件打交道的是lucene的工作,下面我們基於lucene5.3.1對它的索引流程進行分析。在開始前請允許我盜圖一張,下面是lucene索引鏈的流程圖</span> 我們

原创 ansj源碼淺析2

在上一篇文章http://blog.csdn.net/jj380382856/article/details/52174225裏我們對ansj的流程做了簡單的分析,下面我們主要來看ansj中graph的構造以及應用過程。 先貼出上一篇文章

原创 ansj源碼淺析3

上一篇我們講到了利用核心詞典和用戶定義詞典以及雙數組將字符串分詞形成了一個數組鏈表(graph),下面我們繼續分析getResult(Graph graph)函數, 此函數來自於Analysis類是一個抽象函數,裏面有個抽象類和抽象方法,

原创 cloudsolrclient的add方法分析

cloudsolrclient的add方法調用的是父類solrclient的add方法 public UpdateResponse add(String collection, Collection<SolrInputDocumen

原创 solr索引過程源碼解析

在文章http://blog.csdn.net/jj380382856/article/details/51603818我們分析了更新索引的solrj源碼的處理方式,最後會向solr發送一個/update的請求,下面我們繼續分析solr在

原创 HttpSolrCall源碼分析

HttpSolrCall是solr底層發送http請求的中轉站,首先看一下它的構造函數 public HttpSolrCall(SolrDispatchFilter solrDispatchFilter, CoreContainer co

原创 ansj源碼淺析1

開始之前先盜個圖,下圖是lucene分詞結構的類關係圖,可以看出所有的分詞流都是基於TokenStream來做的。它下面有兩個繼承類,一個是 來分詞的(Tokenizer),一個是來過濾的(TokenFilter)。我們主要來分析分詞的

原创 solr源碼入門1

在本文中,solr作爲一個封裝了lucene的web服務我們首先看一下solr的web.xml <env-entry>     <env-entry-name>solr/home</env-entry-name>     <env-ent

原创 solrcloud有路由的mapreduce索引程序

前幾天遇到了大數據量的上傳問題,上傳速度一直很慢,看到網上有文章實現了有路由的mr索引程序,所以我也寫了一個程序如下:</pre><p><pre name="code" class="java">public class MapRedu

原创 java同步互斥,生產者消費者

下面的例子模擬了一個生產者消費者的同步場景,在生產者生產的時候加入了倉庫的容量和當前放置數的比較,註釋寫的很清楚,有問題請留言 需要注意的是 1.wait方法會釋放當前同步塊的鎖, 2.notifyAll   wait  notify方