分享

SolrJ不同版本使用教程

yuwenge 2015-6-23 19:21:46 发表于 入门帮助 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 19296

问题导读

1.Solr3.x版本与Solr4.x版本有什么区别?
2.Solr3.x版本与Solr4.x版本在插入数据和查询数据方面有什么区别?
3.SolrCloud又是如何实现的?






Solr3.x版本
添加数据

[mw_shl_code=java,true]import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
import org.apache.solr.common.SolrInputDocument;

import java.io.IOException;

public class SolrjPopulator {
  public static void main(String[] args) throws IOException, SolrServerException {
    CommonsHttpSolrServer server = new CommonsHttpSolrServer("http://localhost:8983/solr");
    for(int i=0;i<1000;++i) {
      SolrInputDocument doc = new SolrInputDocument();
      doc.addField("cat", "book");
      doc.addField("id", "book-" + i);
      doc.addField("name", "The Legend of Po part " + i);
      server.add(doc);
      if(i%100==0) server.commit();  // periodically flush
    }
    server.commit();
  }
}[/mw_shl_code]

查询数据
[mw_shl_code=java,true]import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.ModifiableSolrParams;

import java.net.MalformedURLException;

public class SolrJSearcher {
  public static void main(String[] args) throws MalformedURLException, SolrServerException {
    CommonsHttpSolrServer solr = new CommonsHttpSolrServer("http://localhost:8983/solr");

    ModifiableSolrParams params = new ModifiableSolrParams();
    params.set("q", "cat:electronics");
    params.set("defType", "edismax");
    params.set("start", "0");

    QueryResponse response = solr.query(params);
    SolrDocumentList results = response.getResults();
    for (int i = 0; i < results.size(); ++i) {
      System.out.println(results.get(i));
    }
  }
}[/mw_shl_code]

Solr4.x版本
插入数据

[mw_shl_code=java,true]import java.io.IOException;

import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.common.SolrInputDocument;

public class SolrjPopulator {
        public static void main(String[] args) throws IOException, SolrServerException {
                HttpSolrServer server = new HttpSolrServer("http://localhost:8983/solr");
                for (int i = 0; i < 1000; ++i) {
                        SolrInputDocument doc = new SolrInputDocument();
                        doc.addField("cat", "book");
                        doc.addField("id", "book-" + i);
                        doc.addField("name", "The Legend of Po part " + i);
                        server.add(doc);
                        if (i % 100 == 0)
                                server.commit(); // periodically flush
                }
                server.commit();
        }
}[/mw_shl_code]

查询数据
[mw_shl_code=java,true]import java.net.MalformedURLException;

import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.ModifiableSolrParams;

public class SolrJSearcher {
        public static void main(String[] args) throws MalformedURLException, SolrServerException {
                HttpSolrServer solr = new HttpSolrServer("http://localhost:8983/solr");

                ModifiableSolrParams params = new ModifiableSolrParams();
                params.set("q", "cat:electronics");
                params.set("defType", "edismax");
                params.set("start", "0");

                QueryResponse response = solr.query(params);
                SolrDocumentList results = response.getResults();
                for (int i = 0; i < results.size(); ++i) {
                        System.out.println(results.get(i));
                }
        }
}[/mw_shl_code]


SolrCloud
添加数据

[mw_shl_code=java,true]import java.io.IOException;

import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CloudSolrServer;
import org.apache.solr.common.SolrInputDocument;

public class SolrCloudSolrjPopulator {
        public static void main(String[] args) throws IOException, SolrServerException {
                String zkHost = "localhost:2181";
                String defaultCollection = "collection1";
                CloudSolrServer server = new CloudSolrServer(zkHost);
                server.setDefaultCollection(defaultCollection);

                for (int i = 0; i < 1000; ++i) {
                        SolrInputDocument doc = new SolrInputDocument();
                        doc.addField("cat", "book");
                        doc.addField("id", "book-" + i);
                        doc.addField("name", "The Legend of Po part " + i);
                        server.add(doc);
                        if (i % 100 == 0)
                                server.commit(); // periodically flush
                }
                server.commit();
        }
}[/mw_shl_code]
查询数据
[mw_shl_code=java,true]import java.net.MalformedURLException;

import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CloudSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.ModifiableSolrParams;

public class SolrCloudSolrJSearcher {
        public static void main(String[] args) throws MalformedURLException, SolrServerException {
                String zkHost = "localhost:2181";
                String defaultCollection = "collection1";
                CloudSolrServer solr = new CloudSolrServer(zkHost);
                solr.setDefaultCollection(defaultCollection);

                ModifiableSolrParams params = new ModifiableSolrParams();
                params.set("q", "cat:electronics");
                params.set("defType", "edismax");
                params.set("start", "0");

                QueryResponse response = solr.query(params);
                SolrDocumentList results = response.getResults();
                for (int i = 0; i < results.size(); ++i) {
                        System.out.println(results.get(i));
                }
        }
}[/mw_shl_code]



没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条