java操做solr實現索引,查詢,刪除,拼寫檢查等功能

使用java操做solrjava

前面講了不少對solr的操做都是直接在頁面上操做的,實際工做中確定是要使用java進行操做的,在這咱們就看一下如何使用java來操做solrapache

Solr提供了solrj來使用java操做solr,SolrJ是封裝了httpClient方法,來操做solr的API的。首先添加maven依賴微信

<dependency>maven

       <groupId>org.apache.solr</groupId>url

       <artifactId>solr-solrj</artifactId>spa

       <version>4.10.4</version>orm

</dependency>對象

還要添加junit4的maven依賴索引

<dependency>ci

       <groupId>junit</groupId>

       <artifactId>junit</artifactId>

       <version>4.12</version>

</dependency>

查詢query

下面就能夠寫代碼了,新建一個testSolr類,

執行的時候發現報錯,是由於缺乏common-logging的包,添加對應的maven依賴

<dependency>

              <groupId>commons-logging</groupId>

              <artifactId>commons-logging</artifactId>

              <version>1.1.1</version>

</dependency>

這樣的話就能夠把collection1這個索引庫裏面的數據打印出來了,由於查詢條件是*:*

在這要注意這個baseurl,默認狀況下,若是操做collection1裏面的數據的話不須要指定就能夠,默認就會操做collection1這個索引庫。

因此上面的兩個baseurl的效果是同樣的。

索引index

使用add方法,能夠向solr中添加一條數據。

註解方式創建索引

在實際工做中,若是在創建索引的時候讓咱們一個屬性一個屬性的設置是很麻煩的,通常都是直接使用一個對象,這樣使用起來也很方便。

首先建立一個實體類,主要注意裏面的字段要添加一個註解,若是不添加的話solr是不能識別的。

這樣就能夠把這個對象在solr中創建索引了。

刪除索引delete

能夠根據ID進行刪除,或者根據查詢條件進行刪除。

拼寫檢查spellcheck

設置查詢的handler,修改成/spell,獲取查詢結果,若是查詢結果爲0,則說明沒有查詢到結果,可能就是輸入的查詢關鍵字有錯誤,這樣就能夠根據getspellcheckresponse方法獲取拼寫檢查的response,根據這個response的一些方法就能夠獲取到建議的結果。

能夠根據下面的方式獲取建議的結果。在這是從collation中獲取結果。

或者根據下面的方法獲取建議結果。在這是從suggestion中獲取結果。

上面的兩種方式均可以獲取建議拼寫的結果。

更多精彩內容請關注:http://bbs.superwu.cn

關注超人學院微信二維碼:

相關文章
相關標籤/搜索