实现一个core里面多个字段的关联查询:

应用场景是: 词, 句子,文章

希望通过查询实现词,句子,文章里面共同有的关键字

private static CloudSolrServer cloudSolrServer;

    private static String zkHost = "192.168.0.157:2181";
private static CloudSolrServer solrServer = new CloudSolrServer(zkHost);
private static synchronized CloudSolrServer getCloudSolrServer(
final String zkHost) {
if (cloudSolrServer == null) {
try {
cloudSolrServer = new CloudSolrServer(zkHost);
} catch (Exception e) {
e.printStackTrace();
}
} return cloudSolrServer;
} public static Map<String, Object> solrCloudR(String skey, int start, int rows) throws SolrServerException{
Map<String, Object> mapResults = new HashMap<String, Object>();
solrServer.setDefaultCollection("collection1");
SolrQuery solrQuery = new SolrQuery();
   solrQuery.set("q","word:"+skey+" OR nickname:"+skey+" OR content:"+skey);
     solrQuery.setHighlight(true); // 开启高亮组件
solrQuery.addHighlightField(skey);// 高亮字段
solrQuery.setHighlightSimplePre("<font color='red'>");//标记,高亮关键字前缀
solrQuery.setHighlightSimplePost("</font>");//后缀
solrQuery.set("start", start);
solrQuery.set("rows", rows);
QueryResponse response = solrServer.query(solrQuery);
SolrDocumentList results = response.getResults();
long numFound = response.getResults().getNumFound();
mapResults.put("results:", results);
System.out.println("numFound=" +numFound);
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
return mapResults;
} public static void main(String[] args) throws Exception {
String skey = "厦门";
//solrCloudR(skey);
//solrCloudR(skey);
//solrSearch(skey, 1, 20);
solrCloudR(skey, 0, 1000); }

查询结果:

numFound=5
SolrDocument{createtime=Mon Aug 24 14:58:59 PDT 2015, id=502, articlenum=0, sex=true, username=ad, updatetime=Mon Aug 24 16:19:31 PDT 2015, nickname=厦门, wordnum=0, sentencenum=0, money=0.0, _version_=1510384955694252032}
SolrDocument{createtime=Fri Aug 21 11:38:48 PDT 2015, id=132, articlenum=0, username=15622238554, updatetime=Mon Aug 24 18:47:56 PDT 2015, nickname=厦门厦门厦门, wordnum=0, sentencenum=0, money=0.0, password=96E79218965EB72C92A549DD5A330112, _version_=1510384955754020864}
SolrDocument{uid=56, feel=1, updatetime=Mon Aug 24 11:15:58 PDT 2015, state=1, createtime=Mon Aug 24 11:16:00 PDT 2015, id=5, content=[听说台风都不来厦门的], articlenum=112, forwardnum=1, supportnum=1, word=厦门厦门, _version_=1510384955107049472}
SolrDocument{uid=12, feel=1, updatetime=Mon Aug 24 15:04:20 PDT 2015, state=1, createtime=Mon Aug 24 15:04:24 PDT 2015, id=501, content=[听说厦门又下雨], articlenum=12, forwardnum=1, supportnum=1, word=厦门又下雨, _version_=1510384955013726208}
SolrDocument{uid=12, feel=1, updatetime=Mon Aug 24 15:04:20 PDT 2015, state=1, createtime=Mon Aug 24 15:04:24 PDT 2015, id=500, content=[最近天气很不稳定], articlenum=12, forwardnum=1, supportnum=1, word=厦门高温, _version_=1510384954935083008}

solr 查询同一个core 的关联字段的更多相关文章

  1. mysql查询同一个字段下,不同内容的语句

    太久没有用SQL语句都有些忘记了,今天工作中遇到了那就尝试记录一下吧 需求是这样的:想查询同一个字段下,两条指定了不同内容,的其他的值 主要是要想到用where......in 语句如下:select ...

  2. MyBatis Collection小记—— 关联查询、递归查询、多字段关联

    经常会用到mybatis的Collection标签来做级联查询或递归查询,现通过一个伪例来简单的说明一下使用中的关键点: 首先先列出三个表,给出一个场景: 1,角色表 t_role( id,name ...

  3. EF Core 的关联查询

    0 前言 本文会列举出 EF Core 关联查询的方法: 在第一.二.三节中,介绍的是 EF Core 的基本能力,在实体中配置好关系,即可使用,且其使用方式,与编程思维吻合,是本文推荐的方式. 第四 ...

  4. Solr查询参数sort(排序)

    摘要: Solr查询每一次返回的数据都有一定的顺序,特定顺序的结果对于业务来说可能非常重要. 不指定排序 一般我们不指定排序规则,这样的结果能满足大部分需求,默认是用文档的得分作为排序标准.相当于加上 ...

  5. Solr查询中涉及到的Cache使用及相关的实现【转】

    转自:http://www.cnblogs.com/phinecos/archive/2012/05/24/2517018.html 本文将介绍Solr查询中涉及到的Cache使用及相关的实现.Sol ...

  6. K3 新单到老单关联字段的添加

    新单到老单字段的添加分为两种: 一种为文本字段信息的关联,新单与老单字段的信息均为文本字段: 另一种为基础资料信息的关联,新单与老单均为基础资料字段信息.       K3 WISE 11.0中存储老 ...

  7. Solr学习总结(四)Solr查询参数

    今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的C#和数据库操作,都是水到渠成的事.这里先列出sol ...

  8. solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据

    solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据 上一节我们完成了solr连接数据库,细心的朋友会发现一个问题,就是solr其实和语言没有任何关系,配置完成后任何语 ...

  9. sql server 查询多个不关联表且对结果编号

    1.除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图.内联函数.派生表.子查询和公用表表达式中无效. 解决方法:top 100 percent * 2.如何对查询结果编 ...

随机推荐

  1. Thymeleaf 模板布局三种区别

  2. go gin

    1.安装 go get -u github.com/gin-gonic/gin 2. package main import "github.com/gin-gonic/gin" ...

  3. 剑指offer第二版面试题3:二维数组中的查找(JAVA版)

    题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 1 2 8 9 2 4 ...

  4. PAT_A1050#String Subtraction

    Source: PAT A1050 String Subtraction (20 分) Description: Given two strings S​1​​ and S​2​​, S=S​1​​− ...

  5. 剑指offer——64和为s的数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 题解 ...

  6. python调用tushare获取股票日线实时行情数据

    接口:daily 数据说明:交易日每天15点-16点之间.本接口是未复权行情,停牌期间不提供数据. 调取说明:基础积分每分钟内最多调取200次,每次4000条数据,相当于超过18年历史,具体请参阅本文 ...

  7. 利用dynamic解决匿名对象不能赋值的问题

    原文:利用dynamic解决匿名对象不能赋值的问题 关于匿名对象 匿名对象是.Net Framework 3.0提供的新类型,例如: }; 就是一个匿名类,搭配Linq,可以很灵活的在代码中组合数据, ...

  8. CSS中background的用法

    CSS中  background 是一个很基本的而且比较常用的样式 background : background-color || background-image || background-re ...

  9. js 实现图片懒加载

    搬运自其他大神,因为找不到链接了就没放,找到了补上. 个人情况:页面超过一屏,下方是大量图片数据(后台传来的html数据) ,想做到一开始不加载下方图片,滚动到进入可视区再加载图片. html:(需先 ...

  10. 2019-9-18-WPF-客户端开发需要知道的触摸失效问题

    title author date CreateTime categories WPF 客户端开发需要知道的触摸失效问题 lindexi 2019-09-18 15:30:38 +0800 2019- ...