package solr;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrQuery.ORDER;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test;
public class SolrTest {
@Test
public void testSelect()throws Exception{
SolrClient solrClient=new HttpSolrClient("http://192.168.24.104:8080/solr/hxcore1");
// 创建solrquery
SolrQuery query = new SolrQuery();
// 设置查询条件、过滤条件、分页条件、排序条件、高亮
// 设置默认搜索域
query.set("df", "item_keywords");
query.setQuery("游轮");
// 设定分页
query.setStart(0);
query.setRows(100);
// 设定排序条件
query.setSort("id", ORDER.desc);
// 得到查询结果对象
QueryResponse resp = solrClient.query(query);
SolrDocumentList solrArr = resp.getResults();
// 循环集合
for (SolrDocument doc : solrArr) {
String id = doc.getFieldValue("id").toString();
String title = doc.getFieldValue("item_title").toString();
String sellPoint = doc.getFieldValue("item_sellpoint").toString();
Long price = (Long) doc.getFieldValue("item_price");
System.out.println(id);
System.out.println(title);
System.out.println(sellPoint);
System.out.println(price);
System.out.println("-------------------------------------------");
}
solrClient.close();
}
@Test
public void testInsert() throws Exception {
SolrClient solrClient = new HttpSolrClient(
"http://192.168.24.104:8080/solr/hxcore1");
// 新建一个对象
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "11111111");
doc.addField("item_title", "豪华游轮");
doc.addField("item_sellpoint", "太空进口");
doc.addField("item_price", 500000);
doc.addField("item_num", 9999);
doc.addField("item_categoryName", "游轮");
doc.addField("item_categoryId", 56);
UpdateResponse resp = solrClient.add(doc);
solrClient.commit(); // 担交
solrClient.close();
System.out.println("状态码:" + resp.getStatus()); // 0代表成功
}
}