一、导包
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.10.3</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
二、增改
public static void testAdd() throws IOException, SolrServerException {
String baseurl="http://localhost:8080/solr";
SolrServer solrServer=new HttpSolrServer(baseurl);
// 简单demo
SolrInputDocument document=new SolrInputDocument();
document.setField("id","haha");
document.setField("name","要要要");
solrServer.add(document);
// 增加实体
Product product=new Product();
product.setId(100000L);
product.setProduct_name("实体测试2");
product.setProduct_catalog_name("测试2");
solrServer.addBean(product);
solrServer.commit();
solrServer.commit();
}
三、删
public static void testdelete() throws IOException, SolrServerException {
String baseurl="http://localhost:8080/solr";
SolrServer solrServer=new HttpSolrServer(baseurl);
solrServer.deleteByQuery("id:haha",1000);
}
四、查
public static void testServer() throws IOException, SolrServerException {
String baseurl="http://localhost:8080/solr";
SolrServer solrServer=new HttpSolrServer(baseurl);
SolrQuery solrQuery=new SolrQuery();
// 设置查询参数
solrQuery.set("q","product_name:台灯");
// solrQuery.setQuery("product_name:台灯");
// 设置过滤条件
solrQuery.set("fq","product_catalog_name:雅致灯饰");
// 设置排序
solrQuery.addSort("product_price", SolrQuery.ORDER.desc);
// 设置分页
solrQuery.setStart(0);
solrQuery.setRows(5);
//设置默认域
solrQuery.set("df","product_name");
//只查询指定域
solrQuery.set("fl","id,product_name");
// 打开开关
solrQuery.setHighlight(true);
solrQuery.addHighlightField("product_name");
solrQuery.setHighlightSimplePre("<span style='color:red'>");
solrQuery.setHighlightSimplePost("<span>");
QueryResponse response=solrServer.query(solrQuery);
SolrDocumentList docs=response.getResults();
long numFonud=docs.getNumFound();
System.out.println("numFonud :"+numFonud);
Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();
for (SolrDocument doc:docs) {
System.out.println(doc.get("id"));
System.out.println(doc.get("product_name"));
System.out.println(doc.get("product_price"));
System.out.println(doc.get("product_catalog_name"));
Map<String, List<String>> map=highlighting.get(doc.get("id"));
List<String> list = map.get("product_name");
System.out.println(list.get(0));
}
}