原创 solr中對於關鍵字置頂(競價排名)、拉黑的源碼實現已經實例講解(一)

  工作中用到了關鍵詞置頂、拉黑的操作,自己毫無辦法,考慮了很久打算用payload,但是又來在一個研究lucene源碼的羣中某個小夥伴給我提示說solr中已經爲我們實現了這個功能,頓時大喜,馬上百度了一下,然後內心很激動,solr真的

原创 solr中對於關鍵字置頂(競價排名)、拉黑的源碼實現已經實例講解(二)

繼續看他的源碼,在上一篇博客中還有幾個方法沒有看,第一個是getElevationMap,如果在請求中沒有指定elevateIds或者沒有指定excludeIds的話,則調用這個方法   /** get the elevation m

原创 solrCloud搭建筆記(更好一點)

之前已經寫了一篇solrCloud的搭建筆記了,最近又發現一種更好的方法,在記錄一邊,我使用的zk的版本是3.4.6,使用的solr的版本是5.5.3,請在apache的官網現在solr此版本的安裝包,另外我使用的tomcat是8.x的

原创 solr中對於分詞結果的獲得即分析

在使用solr的時候,在管理頁面的analysis中可以發現有對詞的分析的展示,在solrj中同樣提供了方法獲得,記個筆記,方便以後再用的着。 使用solrj獲得分詞結果要使用FieldAnalysisRequest類。       s

原创 httpClient中的timeout的配置

近日在用solrCloud的時候出現了一些狀況,在進行查詢的時候,由於某些節點的響應速度過慢導致整個請求響應的很慢,我們的解決辦法是設置超時時間,也就是如果某些shard的響應太慢,則乾脆忽略他的響應。這要涉及到配置httpClient

原创 juc - Condition源碼解讀

之前寫過ReentrantLock的源碼的博客,但是還有個重要的東西沒有介紹——Condition,他的用法我就不介紹了(這種介紹性的博客我不喜歡寫),我今天就寫一下Condition的實現原理,還是從Conditon的常用方法入手。

原创 juc - ReentrantLock源碼解讀(一)

ReentrantLock,翻譯過來叫做重入鎖,是實現線程安全的一個方式,和synchronized的作用類似,但是他的實現原理是什麼呢,在查看了很多的博客之後,我決定自己寫一篇,形成自己的理解。從ReentrantLock的方法一個一

原创 queryParser介紹以及自定義queryParser實現搜索提示

寫這篇博客第一個是爲了記錄在solr中自定義queryParser(順便介紹一下solr的queryParser),第二個是在 http://suichangkele.iteye.com/blog/2363599 (自定義得分的Pref

原创 juc-ThreadPoolExecutor線程池總結

之前對線程池的理解很是主觀,我的理解是在線程池初始化的時候就生成指定的數量的線程,然後將一些任務添加到一個阻塞隊列中,然後多個線程同時從阻塞隊列中取任務執行,當沒有任務時線程阻塞,今天下午看了下大神的博客以及源碼,發現我自己的理解有些偏

原创 solr的cache在SolrIndexSearcher中的使用

先說一下,我使用的sorl的版本是5.5.3   上一個博客說完了solr中的cache,只是介紹了他的實現原理以及配置,並沒有發現程序是如何使用他的,這個博客就是說這個,SolrIndexSearcher中對cache的使用。先說一下

原创 juc - CountDownLatch源碼解讀

之前再學zk的時候,用到了這個CountDownLatch,他的作用是等其他的線程都執行完了某個操作之後再讓當前的線程執行,在其他線程沒有執行完之前當前線程要阻塞,這樣就能實現線程之間的通信了。因爲最近剛學習了ReentrantLock

原创 solr中的SolrEventListener以及cache統計信息的獲得

先聲明一下,我的solr的版本是5.5.3   上一篇博客中說了當更新SolrIndexSearcher的時候並不是僅僅調用預熱,還有其他的操作,那麼都是有什麼呢,看一下SolrCore的getSearcher方法(參數最多的一個),如

原创 lucene中的PackedInts源碼解讀(3)-PACKED格式

繼續回到最開始的獲得mutable的代碼那裏去 public static Mutable getMutable(int valueCount, int bitsPerValue, PackedInts.Format format)

原创 solr中的cache的實現原理

先說一下,我使用的版本是5.5.3   搭建過solr的人肯定對solrconf.xml不陌生,在<query></query>中有多個cache,比如filterCache、queryResultCache,documentCache

原创 lucene中的PackedInts源碼解讀-1

之前在看lucene4.x的源碼的時候,老是遇見packedInts這個類,當時沒有看懂,所以這個週一沒事做又看了一下,茅塞頓開,看懂了,記個筆記,裝一下B。如果讀者認爲我的博客中含有錯誤,請聯繫我,我的qq是1308567317,以免