国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - solr在java中的使用實例代碼

solr在java中的使用實例代碼

2020-11-25 10:53俺就不起網名 Java教程

本篇文章主要介紹了solr在java中的使用實例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

SolrJ是操作Solr的Java客戶端,它提供了增加、修改、刪除、查詢Solr索引的JAVA接口。SolrJ針對 Solr提供了Rest 的HTTP接口進行了封裝, SolrJ底層是通過使用httpClient中的方法來完成Solr的操作。

jar包的引用(maven pom.xml):

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<dependency>
      <groupId>org.apache.solr</groupId>
      <artifactId>solr-solrj</artifactId>
      <version>5.3.1</version>
</dependency>
<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
</dependency>
<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.7</version>
</dependency>
<dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.3</version>
</dependency>

java代碼:

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package entity;
 
import java.io.IOException;
import java.util.List;
 
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
 
 
public class SolrJTest {
   //指定solr服務器的地址
   private final static String SOLR_URL = "http://localhost:8080/solr/";
 
   /**
   * 創建SolrServer對象
   *
   * 該對象有兩個可以使用,都是線程安全的
   * 1、CommonsHttpSolrServer:啟動web服務器使用的,通過http請求的
   * 2、 EmbeddedSolrServer:內嵌式的,導入solr的jar包就可以使用了
   * 3、solr 4.0之后好像添加了不少東西,其中CommonsHttpSolrServer這個類改名為HttpSolrClient
   *
   * @return
   */
   public HttpSolrClient createSolrServer(){
     HttpSolrClient solr = null;
     solr = new HttpSolrClient(SOLR_URL);
     return solr;
   }
 
 
   /**
   * 往索引庫添加文檔
   * @throws IOException
   * @throws SolrServerException
   */
   public void addDoc() throws SolrServerException, IOException{
    //構造一篇文檔
     SolrInputDocument document = new SolrInputDocument();
     //往doc中添加字段,在客戶端這邊添加的字段必須在服務端中有過定義
     document.addField("id", "8");
     document.addField("name", "周新星");
     document.addField("description", "一個灰常牛逼的軍事家");
     //獲得一個solr服務端的請求,去提交 ,選擇具體的某一個solr core
    HttpSolrClient solr = new HttpSolrClient(SOLR_URL + "my_core");
    solr.add(document);
    solr.commit();
    solr.close();
   }
 
 
   /**
   * 根據id從索引庫刪除文檔
   */
   public void deleteDocumentById() throws Exception {
     //選擇具體的某一個solr core
     HttpSolrClient server = new HttpSolrClient(SOLR_URL+"my_core");
     //刪除文檔
     server.deleteById("8");
     //刪除所有的索引
     //solr.deleteByQuery("*:*");
     //提交修改
     server.commit();
     server.close();
   }
 
   /**
   * 查詢
   * @throws Exception
   */
   public void querySolr() throws Exception{
     HttpSolrClient solrServer = new HttpSolrClient(SOLR_URL+"my_core/");
     SolrQuery query = new SolrQuery();
     //下面設置solr查詢參數
     //query.set("q", "*:*");// 參數q 查詢所有 
     query.set("q","周星馳");//相關查詢,比如某條數據某個字段含有周、星、馳三個字 將會查詢出來 ,這個作用適用于聯想查詢
 
     //參數fq, 給query增加過濾查詢條件
     query.addFilterQuery("id:[0 TO 9]");//id為0-4
 
     //給query增加布爾過濾條件
     //query.addFilterQuery("description:演員"); //description字段中含有“演員”兩字的數據
 
     //參數df,給query設置默認搜索域
     query.set("df", "name");
 
     //參數sort,設置返回結果的排序規則
     query.setSort("id",SolrQuery.ORDER.desc);
 
     //設置分頁參數
     query.setStart(0);
     query.setRows(10);//每一頁多少值
 
     //參數hl,設置高亮
     query.setHighlight(true);
     //設置高亮的字段
     query.addHighlightField("name");
     //設置高亮的樣式
     query.setHighlightSimplePre("<font color='red'>");
     query.setHighlightSimplePost("</font>");
 
     //獲取查詢結果
     QueryResponse response = solrServer.query(query);
     //兩種結果獲取:得到文檔集合或者實體對象
 
     //查詢得到文檔的集合
     SolrDocumentList solrDocumentList = response.getResults();
     System.out.println("通過文檔集合獲取查詢的結果");
     System.out.println("查詢結果的總數量:" + solrDocumentList.getNumFound());
     //遍歷列表
     for (SolrDocument doc : solrDocumentList) {
       System.out.println("id:"+doc.get("id")+"  name:"+doc.get("name")+"  description:"+doc.get("description"));
     }
 
     //得到實體對象
     List<Person> tmpLists = response.getBeans(Person.class);
     if(tmpLists!=null && tmpLists.size()>0){
       System.out.println("通過文檔集合獲取查詢的結果");
       for(Person per:tmpLists){
         System.out.println("id:"+per.getId()+"  name:"+per.getName()+"  description:"+per.getDescription());
       }
     }
   }
 
   public static void main(String[] args) throws Exception {
     SolrJTest solr = new SolrJTest();
     //solr.createSolrServer();
     solr.addDoc();
     solr.deleteDocumentById();
     solr.querySolr();
  }
}

參考文檔:http://www.doc88.com/p-6763747939865.html

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/u012385190/article/details/53115546

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人狠狠干 | 亚洲精品免费看 | 黄色大片在线播放 | 91精品国产综合久久婷婷香蕉 | 欧美日韩国产一区二区在线观看 | 中文字幕一区在线 | 成人国产精品 | 婷婷国产在线观看 | 国产精品高清在线 | 亚洲一区中文字幕在线观看 | 最近中文字幕 | av在线一区二区三区 | 国产高清一区 | 久久女人网 | 欧美午夜一区二区三区免费大片 | 黄色一区二区三区 | 久久久精品国产 | 久久国产精品久久久久久电车 | 亚洲xxxxx| 校园春色av | 欧美综合一区二区三区 | av免费在线观看网站 | 亚洲精品乱码久久久久久金桔影视 | 日本在线一区二区三区 | 亚洲欧美激情精品一区二区 | 免费一区二区三区四区 | 草久在线视频 | 亚洲日韩中文字幕一区 | 日韩成人免费中文字幕 | 一级久久 | 成人影视免费 | 欧美日韩国产综合视频 | 国产亚洲一区二区三区 | 91亚洲国产成人久久精品网站 | 日韩午夜激情视频 | 亚洲欧美视频在线播放 | 一区二区三区 在线 | 在线观看一区二区视频 | 免费av在线 | 成人精品免费视频 | 精品国产一级 |