項目中第一次獨立的使用solr,做了一個簡單的demo,簡單介紹下:
需要的jar:
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>org.noggit</groupId>
<artifactId>noggit</artifactId>
<version>0.5</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.3.3</version>
</dependency>
xml配置:
<!--單機版solr客戶端-->
<bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">
<constructor-arg name="baseURL" value="http://192.168.22.221:8080/solr"/>
</bean>
Java代碼:
@Test
public void testSolrJ() throws Exception {
//創建連接
SolrServer solrServer = new HttpSolrServer("http://192.168.22.221:8080/solr");
//創建一個文檔對象
SolrInputDocument document = new SolrInputDocument();
//添加域
document.addField("id", "123");
document.addField("question_content", "測試大題題幹");
//添加到索引庫
solrServer.add(document);
//提交
solrServer.commit();
}
@Test
public void testQuery() throws Exception {
//創建連接
SolrServer solrServer = new HttpSolrServer("http://192.168.22.221:8080/solr");
//創建一個查詢對象
SolrQuery query = new SolrQuery();
query.setQuery("question_content:*");
//執行查詢
QueryResponse response = solrServer.query(query);
//取查詢結果
SolrDocumentList solrDocumentList = response.getResults();
for (SolrDocument solrDocument : solrDocumentList) {
System.out.println(solrDocument.get("id"));
System.out.println(solrDocument.get("question_content"));
}
}
寫在後面:
只是簡單的實現了一個例子,不夠系統,原來學習的有些忘了,還在繼續學習中。