04SolrCloud的Collection管理

启动tomcat
image.png

这样就进来了
创建一个索引库(在浏览器中输入下面的命令)

http://192.168.25.110:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

出现这样的页面就表示修改成功

image.png

删除多余的索引库

http://192.168.25.110:8180/solr/admin/collections?action=DELETE&name=collection1

启动集群版只需要启动下面两个服务就可以了

image.png

测试方法

package cn.e3mall.solrj.test;

import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.impl.CloudSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test;

public class TestSolrCloud {

    @Test
    public void testAddDocument() throws Exception {
        //创建一个集群的连接,应该使用CloudSolrServer创建。
        CloudSolrServer solrServer = new CloudSolrServer("192.168.25.110:2181,192.168.25.110:2182,192.168.25.110:2183");
        //zkHost:zookeeper的地址列表
        //设置一个defaultCollection属性。
        solrServer.setDefaultCollection("collection2");
        //创建一个文档对象
        SolrInputDocument document = new SolrInputDocument();
        //向文档中添加域
        document.setField("id", "solrcloud01");
        document.setField("item_title", "测试商品01");
        document.setField("item_price", 123);
        //把文件写入索引库
        solrServer.add(document);
        //提交
        solrServer.commit();
        
    }
    
    @Test
    public void testQueryDocument() throws Exception {
        //创建一个CloudSolrServer对象
        CloudSolrServer cloudSolrServer = new CloudSolrServer("192.168.25.110:2181,192.168.25.110:2182,192.168.25.110:2183");
        //设置默认的Collection
        cloudSolrServer.setDefaultCollection("collection2");
        //创建一个查询对象
        SolrQuery query = new SolrQuery();
        //设置查询条件
        query.setQuery("*:*");
        //执行查询
        QueryResponse queryResponse = cloudSolrServer.query(query);
        //取查询结果
        SolrDocumentList solrDocumentList = queryResponse.getResults();
        System.out.println("总记录数:" + solrDocumentList.getNumFound());
        //打印
        for (SolrDocument solrDocument : solrDocumentList) {
            System.out.println(solrDocument.get("id"));
            System.out.println(solrDocument.get("title"));
            System.out.println(solrDocument.get("item_title"));
            System.out.println(solrDocument.get("item_price"));
        }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 两年前用过solr5.1版本的,当时只是简单入个门,拿来在项目里建个全文索引,然后再query,其他什么也没做,还...
    Coselding阅读 3,126评论 3 22
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,948评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 感恩我的新车如约而至,第一天新手上路,心理很紧张,各种不会倒库,入库。然而感恩每天上路都平安!也祝福所有的车辆行驶...
    张玉球阅读 107评论 0 0
  • 这个话题,你学习了解Filebeat关键构件他们之间是怎么样工作, 理解这些概念,在配置filebeat的时候,帮...
    bdslinux阅读 1,377评论 0 1