solr java api_solr java api
// 获取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相关推荐
- Android Java使用JavaMail API发送和接收邮件的代码示例
JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的j ...
- java.lang类在电脑哪个位置_Java中的java.lang.Class API 详解
且将新火试新茶,诗酒趁年华. 概述 Class是一个位于java.lang包下面的一个类,在Java中每个类实例都有对应的Class对象.类对象是由Java虚拟机(JVM)自动构造的. Class类的 ...
- java 修改wav文件头_使用Java聲音API從WAV文件中修剪開頭和結尾
我有製作的基礎知識.但是,輸出文件一遍又一遍地重複WAV標頭字節.生成的文件大小合適,但是它與垃圾一起提交.使用Java聲音API從WAV文件中修剪開頭和結尾 我想使用一個擴展AudioInputSt ...
- java moment 日期转换_关于日期:如何使用Java 8 DateTime API转换修改后的儒略日数字...
我有一个数据库,用于存储日期和日期时间(分别为INTEGER和DOUBLE)作为已修改的儒略日数(MJD).修改后的儒略日数是自1858年11月17日午夜UTC以来连续的天数.根据定义,它们始终以UT ...
- Java 8 Stream Api 中的 skip 和 limit 操作
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 Java 8 Stream API 中的sk ...
- Java 8 Time Api 使用指南【珍藏限量版】
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 1.概述 Java 8为Date和Time引入了新的API,以解决旧java.util.Da ...
- java 调用win32 api 学习总结
java使用JInvoke调用windows API 使用jinvoke调用windowsAPI.jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样. 官网使用参考: ...
- Java 8 Stream API详解--转
原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java 8引入 ...
- Java 8 - 时间API
文章目录 Pre 模拟SimpleDateFormate线程安全问题 LocalDate LocalTime LocalDateTime Instant Period Duration format ...
最新文章
- centos7安装sql-server2017
- python之yield的一些应用
- Apollo进阶课程㉓丨Apollo规划技术详解——Motion Planning with Environment
- Extjs中三种不同的数据提交方式
- 腾讯音乐娱乐集团宣布管理层调整,着眼长远战略发展与行业生态布局
- php计算两个日期之间的小时数,PHP_php 计算两个时间戳相隔的时间的函数(小时),这个是可以具体到小时的php代 - phpStudy...
- 电脑打字学习_高邮学习商务办公难不难?/电脑办公的学习内容有哪些? - 教育培训消费 - 得意生活...
- c语言 overflow_一文读懂:C语言编程中“堆”和“栈”的七大区别
- C++笔试题整理(一)
- PHP 7.1 新特性一览
- 太原理工java实验报告_太原理工大学-JAVA实验报告.doc
- 水晶易表(Xcelsius) 2008 学习
- pyppeteer 报 Execution context was destroyed, most likely because of a navigation
- 方倍工作室微信相关代码下载方法
- 【方法】论文中的折线图绘制(Matlab,Python,Excel)
- 计算机专业本科上线分数,计算机专业对口大学分数线本科
- 傻傻分不清楚?带你了解设备id
- 你好,世界:第一个Java程序(《Java与Python学习通法》)
- Android Camera2 相机拍照流程详解
- 优矩互动开启招股:拟募资8.8亿,字节跳动及小米参与认购