原创 lucene3.0.3中的CustomerScoreQuery

      我原本以爲我已經把lucene3.0.3看的很詳細了,結果發現漏了一個很重要的query——CustomerScoreQuery,從名字上看錶示用戶自定義得分的query,我表示很好奇,因爲我花了好大力氣才明白了lucene

原创 關於jvm監控配置的筆記

1、我想記錄gc的歷史,方便以後的分析在啓動jvm的時候添加如下: -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:D:/gc.log -

原创 lucene3.0.3中的SpanNearQuery(一)

SpanNearQuery和PhraseQuery是差不多的意思,都是表示多個term必須全部存在且距離滿足一定的條件的query,但是SpanTermQuery的用法更多,比如他有一個inorder的參數,可以控制多個term出現的位

原创 實現得分的PrefixQuery

(先聲明一下,我使用的lucene的版本是lucene4.7.2) 在lucene中,有一種類型的query叫做MultiTermQuery,故名思議,他是要涉及到很多個term的query,比如我們常用的WildcardQuery、F

原创 solrCloud中CompsiteId路由策略的collection的操作分析

       solrCloud有多個shard,一個shard有一個或者多個replica,那麼再solrj發起添加documnet(這裏稱作update請求)或者是查詢(這裏叫做query請求)的時候,是如何向最終的各個solr的不

原创 java虛擬機的的運行模式

java虛擬機有兩種模式,一箇中server模式,即當做服務器來使用,一個是client模式,用在圖形界面中。這個博客寫的好:http://www.cnblogs.com/love-jishu/p/4402156.html

原创 lucene3.0.3中的SpanFirstQuery

SpanFirstQuery是一個很簡單的SpanQuery,在根據spans進行召回doc的時候,他會判斷當前出現的位置是否滿足一定的條件——出現的是不是在指定的end之前,如果是的話說明當前的位置是符合要求的,否則會繼續讀取下一個位

原创 lucene3.0.3中的數字索引以及數字範圍查詢

      我看了3個下午,加上一個上午終於看懂了lucene對於數字的索引和對於數字範圍的檢索,主要的時間都是花在了NumericRangeQuery上,儘管一次一次的失敗但是我並沒有放棄的打算,研究與探索本來就是我的一大興趣,最後的

原创 solrCloud中的路由策略:DocRouter、CompositeIdRouter、ImplicitDocRouter

sorlCloud是分片的,那麼如何決定一個document應該到哪一個分片呢?負責解決這個問題的東西就是DocRouter,翻譯過來是doc路由器。在創建一個集合(collection)的時候,我們必須要給集合置頂一個docRoute

原创 solr分佈式請求的判斷——HttpShardHandler

在solrCloud中,我們發起的一次查詢請求絕大部分是朝多個shard發起的請求,但是可能存在這麼一個情況,我已經知道這次要查詢的sahrd是哪一個了,那麼如何只向一個shard發起請求呢?這個博客就是看看solrCloud對分佈式請

原创 minor GC,major GC,full GC

看這篇博客  http://www.open-open.com/lib/view/open1429883238291.html

原创 lucene3.0.3中的Spanquery和Spans介紹

      SpanQuery就是用來查詢不僅僅是含有term,並且存在的各個term的位置符合一定條件的doc,從源碼上講他最大的改變就是有了getSpans(IndexReader reader)方法,該方法返回的是Spans,在S

原创 solr、lucene的效率分析的一個文章

鏈接:https://wiki.apache.org/solr/SolrPerformanceProblems? 主要講了:gc、commit、內存大小(包括java、os),cache(涉及到warm)對性能的影響,講的很好。    

原创 lucene3.0.3中的PayloadTermQuery、PayloadFunction

上一篇寫了SpanTermQuery,他沒有任何意思,但是他有個子類,叫做PayloadTermQuery,這個類倒是可以實現一些功能。他也是根據term進行召回,但是對於得分的計算可以加入payload的信息,這樣可以使得某個term

原创 solrCloud中的分佈式請求響應超時解決方案

    之前一篇博客中寫道solrCloud對查詢的請求是在服務端進行的組裝,是對所有的shard的所有的replica進行的輪訓的。這兩天看了下在服務端solr是如何進行操作的,這裏涉及到的代碼超級多,我就只貼一部分,用來說明大意即可