JAVA工程对Solr进行增删改以及封装一个Query对象
来源:互联网 发布:刺客信条战斗力知乎 编辑:程序博客网 时间:2024/06/15 02:32
今天写了个JAVA工程来对以及部署在tomcat上的Solr项目进行增删改查操作。
首先先获取到HttpSolrServer。
HttpSolrServer httpSolrServer = new HttpSolrServer("http://localhost:8080/solr/collection1");传进去的参数就是Solr的访问地址。
向solr服务器添加一个文档
public void addSolrIndex() throws Exception, IOException {// solr web serverSolrInputDocument document = new SolrInputDocument();document.addField("id", "0001");document.addField("content", "哈哈18岁");httpSolrServer.add(document);httpSolrServer.commit();}删除solr服务器中的索引
public void deleteSolrIndex() throws Exception {// httpSolrServer.deleteByQuery("*:*");httpSolrServer.deleteById("test0001");httpSolrServer.commit();}更新solr服务器中的索引
public void updateSolrIndex() throws Exception {SolrInputDocument document = new SolrInputDocument();document.addField("id", "test0001");document.addField("content", "赵老师30岁");httpSolrServer.add(document);httpSolrServer.commit();}查询操作
public void searchSolrIndex() {try {// 封装查询条件SolrQuery query = new SolrQuery();query.set("q", "花儿朵朵");// 添加过滤条件// query.setFilterQueries("product_name:花儿朵朵",// "product_catalog_name:辣条");String s = "10-20";String[] split = s.split("-");query.setFilterQueries("product_price:["+split[0]+" TO "+split[1]+"]");// 排序query.addSort("product_price", ORDER.desc);query.setStart(0);query.setRows(10);// 查询返回的域// query.setFields("", "");// 设置默认查询域query.set("df", "product_keywords");// 设置高亮query.setHighlight(true);query.addHighlightField("product_name");query.setHighlightSimplePre("<em color=\"red\">");query.setHighlightSimplePost("</em>");// 执行查询并返回一个QueryResponse对象QueryResponse response = httpSolrServer.query(query);SolrDocumentList results = response.getResults();// 本次查询命中的文档数量long numFound = results.getNumFound();System.out.println("numFound = " + numFound);// 获取高亮显示的内容Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();for (SolrDocument solrDocument : results) {String id = (String) solrDocument.get("id");String product_name = "";List<String> list = highlighting.get(id).get("product_name");if (null != list && list.size() > 0) {product_name = list.get(0);} else {product_name = (String) solrDocument.get("product_name");}String product_catalog_name = (String) solrDocument.get("product_catalog_name");float product_price = (float) solrDocument.get("product_price");String product_picture = (String) solrDocument.get("product_picture");System.out.println("id = " + id + " \t product_name=" + product_name + " \t product_catalog_name="+ product_catalog_name + " \t product_price=" + product_price + " \t product_picture="+ product_picture);}} catch (SolrServerException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
0 0
- JAVA工程对Solr进行增删改以及封装一个Query对象
- solr增删改查,java工程
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
- java对数据库进行增删改查
- java对数据库进行增删改查的封装(封装以后只要一句话就搞定对数据库的增删改查)
- 对HibernateDaoSupport进行二次封装:hibernate增删改查组件
- 对HibernateDaoSupport进行二次封装:hibernate增删改查组件
- 对HibernateDaoSupport进行二次封装:hibernate增删改查组件
- 对HibernateDaoSupport进行二次封装:hibernate增删改查组件
- 对HibernateDaoSupport进行二次封装:hibernate增删改查组件
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- 触发器
- Nginx设置本地浏览器缓存
- 侧滑+Tablayout
- P1208 [USACO1.3]混合牛奶 Mixing Milk
- c++传递通过sprintf字符变量
- JAVA工程对Solr进行增删改以及封装一个Query对象
- SQL server基本使用示例一
- 端口号的分类
- Intervals poj3680 费用流
- 毕设知识点总结——part1.分词
- Android应用安全风险与防范之代码混淆
- 积累
- UVA 1640 The Counting Problem(统计题,找规律 + dfs)
- MYSQL中的分区维护