solr获取同义词 java_java操作solr实现查询功能的实例
一、封裝的查詢方法
/**
* solr查詢方法
* @param client solr客戶端
* @param query solr查詢對象
* @return list集合
* @throws SolrServerException
* @throws IOException
*/
public static List> getSolrQuery(HttpSolrClient client, SolrQuery query) throws SolrServerException, IOException{
List> list = null;
//執(zhí)行查詢并返回結果
QueryResponse resp = client.query(query);
SolrDocumentList results = resp.getResults();
//獲取查詢到的數據總量
long numFound = results.getNumFound();
//判斷總量是否大于0,
if(numFound <= 0) {
//如果小于0,表示未查詢到任何數據,返回null
return null;
}else {
//如果大于0,表示有數據
//創(chuàng)建list存儲每條數據
list = new ArrayList<>();
//遍歷結果集
for (SolrDocument doc : results) {
//得到每條數據的map集合
Map map = doc.getFieldValueMap();
//添加到list
list.add(map);
}
//返回list集合
return list;
}
}
二、主函數
public static void main(String[] args) throws SolrServerException, IOException {
//創(chuàng)建solr客戶端連接
HttpSolrClient hsc = new HttpSolrClient.Builder(SOLR_URL).build();
//創(chuàng)建查詢對象
SolrQuery query = new SolrQuery();
//設置查詢全部數據的條件
//query.setQuery("*:*");
query.setQuery("id:1");
List> list = getSolrQuery(hsc, query);
if(list == null) {
System.out.println("未查詢到任何結果");
return;
}
for (Map map : list) {
Iterator it = map.keySet().iterator();
while(it.hasNext()) {
String key = it.next();
Object value = map.get(key);
System.out.println(key+"----"+value);
}
System.out.println("=======================================");
}
三、solr_url
//注這是一個人正確的url地址
如果url后邊不加表會報如下錯誤:
以上這篇java操作solr實現查詢功能的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持聚米學院。
總結
以上是生活随笔為你收集整理的solr获取同义词 java_java操作solr实现查询功能的实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东信和平是国企吗
- 下一篇: java rabbitmq topic_