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


使用java操作solr
 
前面講了很多對solr的操作都是直接在頁面上操作的,實際工作中肯定是要使用java進行操作的,在這我們就看一下如何使用java來操作solr
Solr提供了solrj來使用java操作solr,SolrJ是封裝了httpClient方法,來操作solr的API的。首先添加maven依賴
<dependency>
       <groupId>org.apache.solr</groupId>
       <artifactId>solr-solrj</artifactId>
       <version>4.10.4</version>
</dependency>
 
還要添加junit4的maven依賴
<dependency>
       <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
關注超人學院微信二維碼:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM