查询关联多个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中主键相同,但是内容不同的时候,他会怎么取值,测试结果有点随机, 两个值不时的更换,实际业务中不会出现这种不同值的情况吧!

最新文章

  1. ubuntu下的apt-get内网本地源的搭建
  2. window 2003 配置FTP +防火墙设置
  3. WPF 的datagrid 列名中没有显示下划线是怎么回事?
  4. js 日期2015/12/22/16/45替换2015-12-22 16:45格式
  5. js去除重复数值
  6. 将使用netTcp绑定的WCF服务寄宿到IIS7上全记录 (这文章也不错)
  7. poj2389---大数乘法
  8. Mysql文件太大导入失败解决办法总结
  9. Dev的WPF控件与VS2012不兼容问题
  10. 网站开发进阶(三十六)String.getBytes()方法中的中文编码问题
  11. SSH localhost免密不成功 + 集群状态显示Configured Capacity: 0 (0 KB)
  12. Git:一个简单示例
  13. windows 下mysql 重设root密码方法
  14. {Django基础六之ORM中的锁和事务}一 锁 二 事务
  15. 【BP算法】
  16. System.map文件的作用解析
  17. js判断是否安装flash player及当前版本 和 检查flash版本是否需要升级
  18. 【小程序云开发入门】quickStart
  19. Asp.net mvc Kendo UI Grid的使用(三)
  20. Nginx特性验证-反向代理/负载均衡/页面缓存/URL重定向

热门文章

  1. HyperV创建NAT网络
  2. 使用cqlsh远程连接cassandra——设置cassandra.yaml里rpc_address和listen_address为ipv4地址即可
  3. MySQL-5.7复制功能的默认设置改进
  4. XMLHttpRequest Level2
  5. 【SQL查询】连接多表_join
  6. javascript 继承的两种方式
  7. easytouch的使用
  8. 使用MS VS的命令来编译C++程序
  9. HihoCoder 1067 最近公共祖先(ST离线算法)
  10. JAVA设计模式:静态代理