// 获取cloudsolrserver

private CloudSolrServer getsearchclient(String corename) {

CloudSolrServer server = null;

// 从配置文件中读取

PropertyHolder propertyHolder = new PropertyHolder("search");

String ZKHOST = propertyHolder.getProperty("ZKHOST");

String client_timeout = propertyHolder.getProperty("ZK_CLIENT_TIMEOUT");

String connect_timeout = propertyHolder

.getProperty("ZK_CONNECT_TIMEOUT");

try {

server = new CloudSolrServer(ZKHOST);

server.connect();

System.out.println("连接成功");

} catch (MalformedURLException e) {

e.printStackTrace();

}

server.setDefaultCollection(corename);

server.setZkClientTimeout(Integer.parseInt(client_timeout));

server.setZkConnectTimeout(Integer.parseInt(connect_timeout));

return server;

}

// 分页查询

private SolrQuery querypage() {

SolrQuery query = new SolrQuery("*:*");

query.set("start", 0);

// rows 设为 (Integer.MAX_VALUE)则为查询所有数据

query.set("rows", 30);

return query;

}

// 条件查询

private SolrQuery query() {

SolrQuery query = new SolrQuery();

// 查询不等于1

// query.setQuery("id:(!1)");

// 查询等于1

// query.setQuery("id:1");

// 查询id 等于1 或等于2(注意加空格)

// query.setQuery("id:(1 || 2)");

// 查询不等于1 且不等于10

query.setQuery("id:(!1 && !10)");

query.set("sort", "id asc");

return query;

}

private SolrQuery querysunm() {

SolrQuery query = new SolrQuery("*:*");

// query.setQuery("")

return query;

}

// 查询所有的索引

private SolrQuery queryall() {

SolrQuery query = new SolrQuery("*:*");

query.set("sort", "id asc");

return query;

}

// 聚合查询

private SolrQuery groupquery() {

// group by 查询必须加 *:*

SolrQuery query = new SolrQuery("*:*");

query.addFacetField("dept");

// 查询分组后字段dept 前缀为网络营销的

query.setFacetPrefix("网络营销");

// query.setFacetSort(true);

return query;

}

// 聚合查询输出

private void groupprint(CloudSolrServer server, SolrQuery query,

String field) {

QueryResponse response;

try {

response = server.query(query);

List factcount = response.getFacetField(field).getValues();

for (Count count : factcount) {

System.out.println(count);

}

} catch (SolrServerException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

// 查询输出

private void print(CloudSolrServer server, SolrQuery query) {

QueryResponse response;

try {

response = server.query(query);

SolrDocumentList list = response.getResults();

for (SolrDocument solrDocument : list) {

if (solrDocument.get("id") != null) {

String dept = solrDocument.get("id").toString();

System.out.println(dept);

} else {

continue;

}

}

} catch (SolrServerException e) {

e.printStackTrace();

}

}

// 过滤查询

private SolrQuery filterquery() {

SolrQuery query = new SolrQuery("*:*");

// 查询id大于等于1 并且小于等于 10 的索引

query.set("fq", "id:[1 TO 10]");

return query;

}

分享到:

2015-12-10 15:58

浏览 344

评论

solr java api_solr java api相关推荐

  1. Android Java使用JavaMail API发送和接收邮件的代码示例

    JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的j ...

  2. java.lang类在电脑哪个位置_Java中的java.lang.Class API 详解

    且将新火试新茶,诗酒趁年华. 概述 Class是一个位于java.lang包下面的一个类,在Java中每个类实例都有对应的Class对象.类对象是由Java虚拟机(JVM)自动构造的. Class类的 ...

  3. java 修改wav文件头_使用Java聲音API從WAV文件中修剪開頭和結尾

    我有製作的基礎知識.但是,輸出文件一遍又一遍地重複WAV標頭字節.生成的文件大小合適,但是它與垃圾一起提交.使用Java聲音API從WAV文件中修剪開頭和結尾 我想使用一個擴展AudioInputSt ...

  4. java moment 日期转换_关于日期:如何使用Java 8 DateTime API转换修改后的儒略日数字...

    我有一个数据库,用于存储日期和日期时间(分别为INTEGER和DOUBLE)作为已修改的儒略日数(MJD).修改后的儒略日数是自1858年11月17日午夜UTC以来连续的天数.根据定义,它们始终以UT ...

  5. Java 8 Stream Api 中的 skip 和 limit 操作

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 Java 8 Stream API 中的sk ...

  6. Java 8 Time Api 使用指南【珍藏限量版】

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 1.概述 Java 8为Date和Time引入了新的API,以解决旧java.util.Da ...

  7. java 调用win32 api 学习总结

    java使用JInvoke调用windows API 使用jinvoke调用windowsAPI.jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样. 官网使用参考: ...

  8. Java 8 Stream API详解--转

    原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java 8引入 ...

  9. Java 8 - 时间API

    文章目录 Pre 模拟SimpleDateFormate线程安全问题 LocalDate LocalTime LocalDateTime Instant Period Duration format ...

最新文章

  1. centos7安装sql-server2017
  2. python之yield的一些应用
  3. Apollo进阶课程㉓丨Apollo规划技术详解——Motion Planning with Environment
  4. Extjs中三种不同的数据提交方式
  5. 腾讯音乐娱乐集团宣布管理层调整,着眼长远战略发展与行业生态布局
  6. php计算两个日期之间的小时数,PHP_php 计算两个时间戳相隔的时间的函数(小时),这个是可以具体到小时的php代 - phpStudy...
  7. 电脑打字学习_高邮学习商务办公难不难?/电脑办公的学习内容有哪些? - 教育培训消费 - 得意生活...
  8. c语言 overflow_一文读懂:C语言编程中“堆”和“栈”的七大区别
  9. C++笔试题整理(一)
  10. PHP 7.1 新特性一览
  11. 太原理工java实验报告_太原理工大学-JAVA实验报告.doc
  12. 水晶易表(Xcelsius) 2008 学习
  13. pyppeteer 报 Execution context was destroyed, most likely because of a navigation
  14. 方倍工作室微信相关代码下载方法
  15. 【方法】论文中的折线图绘制(Matlab,Python,Excel)
  16. 计算机专业本科上线分数,计算机专业对口大学分数线本科
  17. 傻傻分不清楚?带你了解设备id
  18. 你好,世界:第一个Java程序(《Java与Python学习通法》)
  19. Android Camera2 相机拍照流程详解
  20. 优矩互动开启招股:拟募资8.8亿,字节跳动及小米参与认购

热门文章

  1. 通过C++ Interop把Windows窗体集成到MFC应用程序中
  2. [导入]Vista的屏幕截图小工具:Snipping Tool
  3. 【Apache JMeter】JMeter接口压测实例
  4. 【深入理解JVM】JVM概述
  5. 【struts2】struts2中的Action详解
  6. 删除有序链表中的重复结点
  7. 洛谷——1064金明的预算方案————有依赖的背包
  8. 在Map 3D显示管理器中更改当前地图的名字
  9. nyoj 寻找最大数
  10. Ehcache 整合Spring 使用页面、对象缓存