博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Solr简单测试
阅读量:6540 次
发布时间:2019-06-24

本文共 4184 字,大约阅读时间需要 13 分钟。

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.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;import java.io.IOException;import java.util.ArrayList;import java.util.List;public class SolrInsertTest {    //solr 服务器地址    public static final String solrServerUrl = "http://localhost:8983/solr";    //solrhome下的core    public static final String solrCroeHome = "mycore";    public static String[] docs = {"Solr是一个独立的企业级搜索应用服务器",            "它对外提供类似于Web-service的API接口",            "用户可以通过http请求",            "向搜索引擎服务器提交一定格式的XML文件生成索引",            "也可以通过Http Get操作提出查找请求",            "并得到XML格式的返回结果"};    public static void main(String[] args) {        System.out.println("solr insert test");//        SolrClient client = new HttpSolrClient(solrServerUrl+"/" + solrCroeHome);        SolrClient client = new HttpSolrClient.Builder(solrServerUrl + "/" + solrCroeHome).build();        List
solrDocs = new ArrayList<>(); for (int i = 0; i < docs.length; i++) { SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", i); doc.addField("content_text", docs[i]); solrDocs.add(doc); } try { client.add(solrDocs); client.commit(); System.out.println("Insert Done"); } catch (SolrServerException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { try { client.close(); } catch (IOException e) { e.printStackTrace(); } } } @Test public void testSolrQuery() throws IOException, SolrServerException { SolrClient client = new HttpSolrClient(solrServerUrl + "/" + solrCroeHome); SolrQuery query = new SolrQuery("content_text:类似"); // 设置查询关键字 /* query.setQuery("Content:* AND Spare3:1 "); */ // 指定查询返回字段 /* query.setParam("fl", "Content,IndexTime"); */ // 设置高亮// query.setHighlight(true).setHighlightSimplePre("
")// .setHighlightSimplePost("");// query.setParam("hl.fl", "Content");//设置高亮字段// query.setParam("fl", "ID,Published"); //排除条件 - NOT //wbQuery.addFilterQuery("OriginType:wb -Spare3:0"); //wbQuery.addFilterQuery("OriginType:wb NOT Spare3:0"); // 时间条件过滤 /* query.addFilterQuery("Content:超哥"); */ /* * query.addFilterQuery( * "Published:[1995-12-31T23:59:59.999Z TO 2016-03-06T00:00:00Z]"); **/ // 实现分页的查询 query.setStart(0); query.setRows(10); // 设定排序,如果需要对field进行排序就必须在schema.xml中对该field配置stored="true"属性 //set会清空原来的sort条件,add不会清空原来的,会在原来的基础上添加 sort=Published asc,Author asc(多条件排序)// query.setSort(IContentCommon.IndexField.Published.getName(),// SolrQuery.ORDER.asc);//// query.addSort(IContentCommon.IndexField.Published.getName(),// SolrQuery.ORDER.asc); QueryResponse response = client.query(query); System.out.println(query); SolrDocumentList docs = response.getResults(); System.out.println(docs.getNumFound()); for(SolrDocument doc : docs){ Object id = doc.get("id"); System.out.println("id:" + id + ", content:" + doc.get("content_text")); } client.close(); } @Test public void testSolrDelete() throws IOException, SolrServerException { SolrClient client = new HttpSolrClient.Builder(solrServerUrl + "/" + solrCroeHome) .build(); UpdateResponse response = client.deleteById("0"); int status = response.getStatus(); System.out.println("status:" + status); client.commit(); client.close(); }}

转载于:https://www.cnblogs.com/byxxw/p/6701527.html

你可能感兴趣的文章
用Adobe Flash Professional CS6创建一个iOS应用程序
查看>>
简简单单几段代码让自己变成最合格的网站管理员
查看>>
Slim Text 0.0.9 发布, 代码开源!
查看>>
[置顶] 遵循Java EE标准体系的开源GIS服务平台之二:平台部署
查看>>
Session深度探索
查看>>
shell语法简单介绍
查看>>
wcf客户端终结点样本集合
查看>>
【Win 10 应用开发】RTM版的UAP项目解剖
查看>>
Java递归算法——阶乘
查看>>
ios开发应用内实现多语言自由切换
查看>>
转:iOS基于MVC的项目重构总结
查看>>
Tire树
查看>>
Multi-voltage和power gating的实现
查看>>
JavaScript面向对象 ~ 原型和继承(1)
查看>>
ubuntu下安装nginx时依赖库zlib,pcre,openssl安装方法
查看>>
spring cloud微服务分布式云架构--hystrix的使用
查看>>
linux tail
查看>>
解决Mac启动Eclipse Memory Analyzer报错问题
查看>>
jquery的$().each,$.each的区别
查看>>
java-第五章-do{}while()升级菜单切换
查看>>