需要的jar包
httpclient-4.3.1.jar
httpcore-4.3.jar
httpmime-4.3.1.jar
solr-core-4.10.2.jar
solr-solrj-4.10.2.jar
noggit-0.5.jar
一个简单的java调用
package util;
import java.net.MalformedURLException;
import java.util.List;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
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.SolrDocument;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.servlet.SolrRequestParsers;
import tea.entity.wotrip.Hacatering;
/**
* @author zihai367
* @version 创建时间:2015-4-21 下午05:19:34
* 类说明
*/
public class SolrExample {
SolrServer server = new HttpSolrServer("http://127.0.0.1:8080/solr/solrArticle");
public void query01(String queryString) {
SolrParams solrParams = SolrRequestParsers
.parseQueryString(queryString);
try {
QueryResponse rsp = server.query(solrParams);
List<Hacatering> results = rsp.getBeans(Hacatering.class);
for (Hacatering bean : results)
System.out.println(bean.toString());
} catch (SolrServerException e) {
e.printStackTrace();
}
}
public void query02(String queryString) {
ModifiableSolrParams solrParams = new ModifiableSolrParams();
solrParams.add("q", queryString);
solrParams.add("start", "0");
solrParams.add("rows", "10");
try {
QueryResponse rsp = server.query(solrParams);
List<Hacatering> results = rsp.getBeans(Hacatering.class);
for (Hacatering bean : results)
System.out.println(bean.toString());
} catch (SolrServerException e) {
e.printStackTrace();
}
}
public void query03(String queryString) {
SolrQuery query = new SolrQuery();
query.setQuery(queryString);
query.setStart(0);
query.setRows(10);
QueryResponse rsp;
try {
rsp = server.query(query);
List<Hacatering> results = rsp.getBeans(Hacatering.class);
for (Hacatering bean : results)
System.out.println(bean.toString());
} catch (SolrServerException e) {
e.printStackTrace();
}
}
/*public static void main(String[] args) throws MalformedURLException, SolrServerException {
SolrExample solrExample = new SolrExample();
solrExample.query03("格林豪泰4");
}*/
public static void main(String[] args) throws MalformedURLException, SolrServerException {
SolrServer server = new HttpSolrServer("http://127.0.0.1:8080/solr/solrArticle");
ModifiableSolrParams params = new ModifiableSolrParams();
// 查询关键词
params.set("q", "格林豪泰4");
// 分页,,start=0就是从0开始,,rows=5当前返回5条记录,,,第二页就是变化start这个值为5就可以了。
params.set("start", 0);
params.set("rows", 5);
// 排序,,如果按照id 排序,,那么将score desc 改成 id desc(or asc)
//params.set("sort", "cid desc");
// 返回信息 * 为全部 这里是全部加上score,如果不加下面就不能使用score
//params.set("fl", "*,cid");
QueryResponse response = server.query(params);
// 搜索得到的结果数
System.out.println("Find:"+ response.getResults().getNumFound()+"\n\n");
// 输出结果
for(SolrDocument doc:response.getResults())
{
System.out.println("id: " + doc.getFieldValue("cid").toString());
System.out.println("title: " + doc.getFieldValue("cname").toString()+"\n");
}
}
}