项目中第一次独立的使用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"));
}
}
写在后面:
只是简单的实现了一个例子,不够系统,原来学习的有些忘了,还在继续学习中。