查询关联多个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. PinYin4JUtils

    import java.util.Arrays; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin ...

  2. C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展

    一.需要实现的目标是: 1.将数据绑定到pie的后台数据中,自动生成饼图. 2.生成的饼图有详细文字的说明. 1.设置chart1的属性Legends中默认的Legend1的Enable为false: ...

  3. 使用vue遇到坑

    1.请求ajax方式一定要在Vue methods或creads里去请求. 方便做下拉刷新数据 . 2.多看看vue源码. 3.多写tab常项,h5下拉滚动,pc分页效果,回到顶部,提高熟悉vue需求 ...

  4. Hibernate 悲观锁,乐观锁

    业务逻辑的实现过程中,往往需要保证数据访问的排他性.因此,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“锁”,即给我们选定的目标数据上锁,使其无 ...

  5. JavaScript高级程序设计读后感(一)

    一.什么是JavaScript? 本质? 历史? 表单验证发展成为一门语言 局限性?

  6. react: navigator

    1.page js import React from "react"; import {Link} from "react-router-dom"; impo ...

  7. L143 Seasonal 'Plague' Hits College Freshman

    Sometimes, all the hand sanitizer in the world cannot prevent the inevitable.College freshmen across ...

  8. ubuntu与windows共享文件

    一.通过vmmare tool工具共享文件 Ubuntu系列10.04.11.04.12.04等虚拟机中安装VMware Tools参考下面两篇文章. http://www.linuxidc.com/ ...

  9. Leetcode 1006. Clumsy Factorial

    class Solution(object): def clumsy(self, N): """ :type N: int :rtype: int "" ...

  10. HDU - 5728:PowMod (欧拉函数&指数循环节)

    Declare: k=∑ m i=1 φ(i∗n) mod 1000000007 k=∑i=1mφ(i∗n) mod 1000000007 n n is a square-free number. φ ...