查询关联多个core

再新建一个core

向每个core添加索引,修改

final static String SOLR_URL = "http://localhost:8080/solr/test";

即可

多个core的关联查询

package com.liucheng.solr;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
public class solrServer {
private solrServer(){};
final static String SOLR_URL = "http://localhost:8080/solr/core1";
private static HttpSolrClient server = null;
public static HttpSolrClient getServer(){
if(server == null){
server = new HttpSolrClient(SOLR_URL);
server.setDefaultMaxConnectionsPerHost(1000);
server.setMaxTotalConnections(10000);
server.setConnectionTimeout(60000);
server.setSoTimeout(60000);
server.setFollowRedirects(false);
server.setAllowCompression(true);
}
return server;
}
}
package com.liucheng.solr;
import java.io.IOException;
import java.util.List;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrQuery.ORDER;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
public class solrTest {
public static void addIndex(){
HttpSolrClient server = solrServer.getServer();
student stu = new student();
stu.setId("1006");
stu.setName_s("wanglc6");
stu.setScore_i(885);
try {
server.addBean(stu);
server.commit();
} catch (SolrServerException | IOException e) {
e.printStackTrace();
}
}
public static void delete(){
HttpSolrClient server = solrServer.getServer();
try {
server.deleteById("1001");
server.commit();
} catch (SolrServerException | IOException e) {
e.printStackTrace();
}
}
public static void search(){
HttpSolrClient server = solrServer.getServer();
SolrQuery query = new SolrQuery();
//query.setQuery("*:*");
query.set("q", "*:*");
query.setStart(0);
query.setRows(5);
query.setSort("score_i",ORDER.desc);
query.set("shards", "http://localhost:8080/solr/core1,http://localhost:8080/solr/test");
QueryResponse queryResponse;
try {
queryResponse = server.query(query);
List<student> list = queryResponse.getBeans(student.class);
System.out.println("num = "+list.size());
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).getId() + "___" +list.get(i).getName_s() + "___" +list.get(i).getName_s() + "___" + list.get(i).getScore_i());
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
//addIndex();
//delete();
search();
}
}
package com.liucheng.solr;
import java.io.Serializable;
import org.apache.solr.client.solrj.beans.Field;
public class student implements Serializable{
private static final long serialVersionUID = 1L;
@Field
private String id;
@Field
private String name_s;
@Field
private int score_i; public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName_s() {
return name_s;
}
public void setName_s(String name_s) {
this.name_s = name_s;
}
public int getScore_i() {
return score_i;
}
public void setScore_i(int score_i) {
this.score_i = score_i;
}
}
测试的结果:
会综合两个core中的数据,如果有重复的id,只会取其中一个
但是会有一个问题,当两个core中主键相同,但是内容不同的时候,他会怎么取值,测试结果有点随机, 两个值不时的更换,实际业务中不会出现这种不同值的情况吧!

6.solr学习速成之multicore查询的更多相关文章

  1. 3.solr学习速成之索引添加 查询 删除

    solrserver.java public class solrServer { private solrServer(){}; final static String SOLR_URL = &qu ...

  2. 13.solr学习速成之IK分词器

    IKAnalyzer简介 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包. IKAnalyzer特性 a. 算法采用“正向迭代最细粒度切分算法”,支持细粒度和最大词长两 ...

  3. 11.solr学习速成之MoreLikeThis

    Solr相似匹配    在网页搜索或电商产品搜索结果页面,很多时候会看到一个相似文档.相似产品或找相似的链接.Solr 使用 MoreLikeThisComponent(MLT)和 MoreLikeT ...

  4. 10.solr学习速成之高亮显示

    Solr高亮显示的三种实现 高亮显示在搜索中使用的比较多,比较常用的有三种使用方式,如果要对某field做高亮显示,必须对该field设置stored=true .          第一种是普通的高 ...

  5. 9.solr学习速成之group

    Group与Facet的区别  facet的查询结果主要是分组信息:有什么分组,每个分组包括多少记录:但是分组中有哪些数据是不可知道的,只有进一步搜索.        group则类似于关系数据库的g ...

  6. 8.solr学习速成之FacetPivot

    什么是Facet.pivot  Facet.pivot就是按照多个维度进行分组查询,是Facet的加强,在实际运用中经常用到,一个典型的例子就是商品目录树 NamedList解释: NamedList ...

  7. 7.solr学习速成之facet

    Facet 介绍   Facet 是 solr 的高级搜索功能之一 ,可以给用户提供更友好的搜索体验,在搜索关键字的同时 , 能够按照 Facet 的字段进行分组并统计.        比如你上淘宝, ...

  8. 4.solr学习速成之bean

    以bean的形式提交索引,以bean的形式查询出来 package com.liucheng.solr; import java.io.Serializable; import org.apache. ...

  9. 1.solr学习速成之配置文件

    什么是solr Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过H ...

随机推荐

  1. ElasticSearch6.0 Java API 使用 排序,分组 ,创建索引,添加索引数据,打分等(一)

    ElasticSearch6.0  Java API  使用     排序,分组 ,创建索引,添加索引数据,打分等 如果此文章对你有帮助,请关注一下哦 1.1 搭建maven 工程  创建web工程 ...

  2. [JS学习笔记]Javascript事件阶段:捕获、目标、冒泡

    当你在浏览器上点击一个按钮时,点击的事件不仅仅发生在按钮上,同时点击的还有这个按钮的容器元素,甚至也点击了整个页面. 事件流 事件流描述了从页面接收事件的顺序,但在浏览器发展到第四代时,浏览器开发团队 ...

  3. Arcgis Android API开发之离线地图

    最近一直在倒腾Arcgis Android API等相关的东西,想把自己的做的图放到地图上去,也就是离线地图,穷人一般是没有钱的,一个月好几十的流量是开不起的,所以就左捉摸,右思考,看着API里面有离 ...

  4. 边缘检测︱基于 HED网络TensorFlow 和 OpenCV 实现图片边缘检测

    本文摘录自<手机端运行卷积神经网络的一次实践 – 基于 TensorFlow 和 OpenCV 实现文档检测功能> 只截取感兴趣 的片段. . 一.边缘检测 1.传统边缘检测 Google ...

  5. Windows下修改hosts并且让他立即生效

    1.打开hosts所在的目录 Win+R->C:\windows\System32\drivers\etc 2.编辑hosts文件 使用Notepad++或者记事本以管理员身份打开hosts,修 ...

  6. Reinforcement Learning Q-learning 算法学习-4

    Q-learning 相关的资料 https://www.youtube.com/watch?v=V1eYniJ0Rnk google deepmind 的Q-learning 算法打游戏的一个很酷的 ...

  7. make命令和makefile文件

    make命令和makefile文件的结合提供了一个在项目管理领域十分强大的工具,它不仅常被用于控制源代码的编译,而且还用于手册页的编写以及将应用程序安装到目标目录. makefile文件由一组依赖关系 ...

  8. 洛谷 P3225 [HNOI2012]矿场搭建

    传送门 题目大意:建设几个出口,使得图上无论哪个点被破坏,都可以与出口联通. 题解:tarjian求割点 首先出口不能建在割点上,找出割点,图就被分成了几个联通块. 每个联通块,建出口.如果割点数为0 ...

  9. fn project AWS Lambda 格式 functions

      Creating Lambda Functions Creating Lambda functions is not much different than using regular funct ...

  10. 无法建立目录wp-content/uploads/xxxx/xx。有没有上级目录的写权限?解决办法

    首先小七已经搭建了n个wordpress网站之前没遇到过这坑爹的问题,有一天很奇怪无论是本地搭建的wp还是线上搭建的wp网站都出现了同样的问题 本地: 报错原因就是文件权限问题,所以首先就是更改wp- ...