参考文献地址:http://www.solr.cc/blog/?p=1296
Solr版本:4.7.0
一、依赖的jar
Maven配置
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.7.0</version>
<scope>test</scope>
</dependency>
二、添加索引
SolrjPopulator.java
package com.clj.test.solr.solr4;
import java.io.IOException;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.common.SolrInputDocument;
/**
* solr 4.X
* 添加索引
*
* @author Administrator
* @version [版本号, 2014年3月9日]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class SolrjPopulator
{
public static void main(String[] args) throws IOException, SolrServerException {
HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr");
for (int i = 0; i < 1000; ++i) {
SolrInputDocument doc = new SolrInputDocument();
doc.addField("cat", "book");
doc.addField("id", "book-" + i);
doc.addField("name", "The Legend of Po part " + i);
server.add(doc);
if (i % 100 == 0)
server.commit(); // periodically flush
}
server.commit();
}
}
三、搜索
SolrJSearcher.java
package com.clj.test.solr.solr4;
import java.net.MalformedURLException;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.ModifiableSolrParams;
/**
* solr 4.X
* 查询数据
*
* @author Administrator
* @version [版本号, 2014年3月9日]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class SolrJSearcher
{
public static void main(String[] args) throws MalformedURLException, SolrServerException {
HttpSolrServer solr = new HttpSolrServer("http://localhost:8080/solr");
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("q", "cat:book");
params.set("defType", "edismax");
params.set("start", "0");
QueryResponse response = solr.query(params);
SolrDocumentList results = response.getResults();
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
}
}
搜索结果: