以下內容譯自Solr Wiki官方文檔,版權沒有,隨意轉載.
Solrj 是一個訪問solr的java客戶端。它提供了一個java接口用于添加更新和查詢solr索引。本頁面介紹SolrJ最新版本1.4在Solr 1.4.x及其在附帶war包中的使用,關于SolrJ在Solr1.3和Solr1.2的使用教程請移步Solrj1.3 Wiki。
SolrJ通常保持向后兼容性,因此你可以在較老版本的Solr上使用較新版本的SolrJ,或者在較新版本的Solr上使用較老版本的SolrJ。但是有些細微的區別需要注意:
如果你混合使用1.x和較新的主版本,必須設置響應xml解析器,因為兩個版本使用了不兼容的Java bin。
server.setParser(new XMLResponseParser());只要不將發起請求改變成二進制流,混合使用3.x和4.x或者混合之后的版本,通常沒有太大問題(在SOLR-3038中有關于將默認請求改為二進制流的討論)。如果這樣做,3.x和更高版本的兼容性問題需要通過發起一個明確描述XML的版本的請求來決定。在SOLR-4820中有關于自動傳輸檢測這種行為的討論。
Java bin的格式是個例外,它在各個大版本之間互不兼容。不能使用javabin在1.4.1和以上版本或者3.1和更高版本之間通信(因為在協議中改變了字符編碼)。也不能采用java bin的方式用于4.x的客戶端和包括3.x在內之前版本的服務端進行通信,因為這樣的改變會妨礙服務url的映射,也違反了向后不兼容的協議。在這種情況下,僅僅是不提供SolrServer的請求寫入流,仍然可以得到默認的(XML)線性格式。
如果使用較老版本的SolrJ和4.x或者更新的Solr服務,很大可能是因為想從4.0的SolrJ中得到在之前的老版本的SolrQuery對象中所沒有的setRequestHandler方法。值得注意的是,這個方法尤為重要當SolrJ比Solr要更新的時候。
SolrJ用到的jar包分布在以下幾個文件夾:/dist、/dist/solrj-lib 和 /lib,使用SolrJ最小可用jar包集合(可根據使用場景獲取更多依賴)清單如下:
/dist文件夾
/dist/solrj-lib文件夾
/lib文件夾
新聞熱點
疑難解答