4.solrj对索引的增删改查
来源:互联网 发布:结构分析软件 编辑:程序博客网 时间:2024/05/21 19:25
1.使用solrj版本为5.2.1
2.索引对象POJO
package com.szss.test.solrj;import org.apache.solr.client.solrj.beans.Field;import java.io.Serializable;import java.util.Date;public class Product implements Serializable { @Field("id") private String id; @Field("product_full_name") private String productFullName; @Field("date_created") private Date dateCreated; @Field("last_updated") private Date lastUpdated; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getProductFullName() { return productFullName; } public void setProductFullName(String productFullName) { this.productFullName = productFullName; } public Date getDateCreated() { return dateCreated; } public void setDateCreated(Date dateCreated) { this.dateCreated = dateCreated; } public Date getLastUpdated() { return lastUpdated; } public void setLastUpdated(Date lastUpdated) { this.lastUpdated = lastUpdated; }}
3.单元测试
package com.szss.test.solrj;import org.apache.solr.client.solrj.SolrClient;import org.apache.solr.client.solrj.SolrQuery;import org.apache.solr.client.solrj.SolrServerException;import org.apache.solr.client.solrj.impl.HttpSolrClient;import org.apache.solr.client.solrj.response.FacetField;import org.apache.solr.client.solrj.response.QueryResponse;import org.apache.solr.common.SolrDocument;import org.apache.solr.common.SolrDocumentList;import org.apache.solr.common.params.ModifiableSolrParams;import org.junit.Before;import org.junit.Test;import java.io.IOException;import java.util.Iterator;import java.util.List;public class SolrTest { private SolrClient client;// @Before// public void init(){// client = new CloudSolrClient("192.168.7.1:2181,192.168.7.2:2181,192.168.7.3:2181");// client.setDefaultCollection("solr");// } @Before public void init() { String urlString = "http://localhost:8989/solr/test"; client = new HttpSolrClient(urlString); } /** * 全量索引 */ @Test public void fullImport() { ModifiableSolrParams params = new ModifiableSolrParams(); params.set("qt", "/dataimport"); params.set("command", "full-import"); QueryResponse response = null; try { response = client.query(params); } catch (Exception e1) { e1.printStackTrace(); } System.out.println(response); } /** * 增量索引 */ @Test public void deltaImport() { ModifiableSolrParams params = new ModifiableSolrParams(); params.set("qt", "/dataimport"); params.set("command", "delta-import"); QueryResponse response = null; try { response = client.query(params); } catch (Exception e1) { e1.printStackTrace(); } System.out.println(response); } /** * 查询 * @throws SolrServerException * @throws IOException */ @Test public void solrQuery() throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("product_full_name:笔记本"); solrQuery.setStart(0); solrQuery.setRows(10);//可以用于分页 solrQuery.addSort("product_full_name", SolrQuery.ORDER.asc); QueryResponse response = client.query(solrQuery); SolrDocumentList list = response.getResults(); for (Iterator iterator = list.iterator(); iterator.hasNext(); ) { SolrDocument product = (SolrDocument) iterator.next(); System.out.println(product.get("product_full_name")); } } /** * 查询结果封装为实体 * @throws SolrServerException * @throws IOException */ @Test public void solrQueryBean() throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("product_full_name:笔记本"); solrQuery.setStart(0); solrQuery.setRows(10);//可以用于分页 solrQuery.addSort("product_full_name", SolrQuery.ORDER.asc); QueryResponse response = client.query(solrQuery); List<Product> list = response.getBeans(Product.class); for (Iterator iterator = list.iterator(); iterator.hasNext(); ) { Product product = (Product) iterator.next(); System.out.println(product.getProductFullName()); } } /** * 匹配结果的数量 * @throws SolrServerException * @throws IOException */ @Test public void queryFacet() throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("product_full_name:‘笔记本’"); solrQuery.setFacet(true); solrQuery.addFacetField("product_full_name"); QueryResponse queryResponse = client.query(solrQuery); List<FacetField> facetFields = queryResponse.getFacetFields(); for (FacetField field : facetFields) { System.out.println(field.getName()); List<FacetField.Count> counts = field.getValues(); for (FacetField.Count count : counts) { System.out.println(count.getName() + " : " + count.getCount()); } } }}
0 0
- 4.solrj对索引的增删改查
- 利用Solrj对索引进行增删改查
- 【原创】Java+solrJ实现对solr索引的增删改查
- solrj 增删改查
- _head插件对elasticsearch 索引文档的增删改查
- 索引对idus(增删改查)的影响
- 搜索引擎-基于solrj客户端的solr增删改查
- Solrj的增删改查,高亮,及分页
- solrj操控sorl,增删改查
- lucene4.4 索引的增删改查
- lucene索引的增删改查
- 02-lucene索引的增删改查
- mysql索引的增删改查
- c# 对Xml的增删改查
- c# 对Xml的增删改查
- java 对xml的增删改查
- JDBC对MySQL的增删改查
- c# 对Xml的增删改查
- HDU 1071 The area(计算几何)
- 一位数据挖掘小伙的个人管理工具(不断优化中)
- 对人类社会的认识2
- Linux新手入门:Unable to locate package错误解决办法
- uvalive5990(坑点蛮多的一道题。。)
- 4.solrj对索引的增删改查
- 常用排序算法总结---Java实现
- Leetcode: Palindrome Linked List
- pickView的菜单选择代码
- Atlassian Bamboo 安装
- UI 11 从后向前传值 -- block
- 用Eclipse创建第一个Spring项目(最最入门级)
- 使用CLI获取EBS的总使用大小
- Android5.1 Telephony流程分析——拨打电话流程(MO CALL)