zoukankan      html  css  js  c++  java
  • solr java api 使用solrj操作zookeeper集群中的solrCloud中的数据

    1 导入相关的pom依赖

    <dependencies>
          <dependency>
              <groupId>org.apache.solr</groupId>
              <artifactId>solr-solrj</artifactId>
              <version>4.10.2</version>
          </dependency>
           <dependency>
              <groupId>commons-logging</groupId>
              <artifactId>commons-logging-api</artifactId>
              <version>1.1</version>
          </dependency>
      </dependencies>

    2 编写代码,完成CURD

        //添加索引
        @Test
        public void createIndexToSolrCloud() throws IOException, SolrServerException {
            //创建连接solrCloud的服务对象
            //String zkHost: 需要传递zookeeper集群的地址
            String zkHost = "192.168.44.28:2181,192.168.44.29:2181,192.168.44.30:2181";
            CloudSolrServer solrServer = new CloudSolrServer(zkHost);
    
            //设置连接哪个solr的索引库
            solrServer.setDefaultCollection("collection2");
            //可选的参数
            //设置连接zookeeper的时间
            solrServer.setZkClientTimeout(5000);
            //设置获取和solr的连接的时间
            solrServer.setZkConnectTimeout(5000);
    
            //执行获取连接
            solrServer.connect();
    
            //添加索引操作
            SolrInputDocument document = new SolrInputDocument();
            document.addField("id", "1");
            document.addField("name", "hello solrCloud");
            solrServer.add(document);
    
            //执行提交
            solrServer.commit();
        }
    
    
        //删除索引
        @Test
        public void deleteIndex() throws IOException, SolrServerException {
            //创建连接solrCloud的服务对象
            //String zkHost: 需要传递zookeeper集群的地址
            String zkHost = "192.168.44.28:2181,192.168.44.29:2181,192.168.44.30:2181";
            CloudSolrServer solrServer = new CloudSolrServer(zkHost);
            //设置连接哪个solr的索引库
            solrServer.setDefaultCollection("collection2");
            //可选的参数
            //设置连接zookeeper的时间
            solrServer.setZkClientTimeout(5000);
            //设置获取和solr的连接的时间
            solrServer.setZkConnectTimeout(5000);
            //执行获取连接
            solrServer.connect();
    
            //删除索引
            solrServer.deleteById("1");
    
            //执行提交
            solrServer.commit();
        }
    
        //查询
        @Test
        public void queryIndex() throws SolrServerException {
            //创建连接solrCloud的服务对象
            //String zkHost: 需要传递zookeeper集群的地址
            String zkHost = "192.168.44.28:2181,192.168.44.29:2181,192.168.44.30:2181";
            CloudSolrServer solrServer = new CloudSolrServer(zkHost);
            //设置连接哪个solr的索引库
            solrServer.setDefaultCollection("collection2");
            //可选的参数
            //设置连接zookeeper的时间
            solrServer.setZkClientTimeout(5000);
            //设置获取和solr的连接的时间
            solrServer.setZkConnectTimeout(5000);
            //执行获取连接
            solrServer.connect();
    
            //添加查询操作
            SolrQuery query = new SolrQuery("*:*");
            QueryResponse response = solrServer.query(query);
    
            SolrDocumentList documents = response.getResults();
            for (SolrDocument document : documents) {
                Object id = document.get("id");
                Object name = document.get("name");
                System.out.println(id + "--" + name);
            }
        }
  • 相关阅读:
    [心得]如何快速利用SqlMap做安全檢測
    [心得]群裡提問的流水序號產生方式
    STL中使用reverse_iterator时,如何正确使用erase函数
    西山居面试之旅
    LAMP兄弟连 视频教程集
    [译]理解Windows消息循环
    C++设计模式 -- 解析和实现
    winsock 收发广播包
    SqlServer sysobjects_table
    查询反模式
  • 原文地址:https://www.cnblogs.com/blazeZzz/p/9444297.html
Copyright © 2011-2022 走看看