美文网首页
Solr4.X的安装和使用

Solr4.X的安装和使用

作者: gz_liuyun | 来源:发表于2015-12-10 17:00 被阅读0次

    一 、官网下载 solr 的版本  :http://lucene.apache.org/solr/

    二、   Solr安装:

    1、解压solr-4.10.2.zip

    2、将 solr-4.10.2/example/webapps/solr.war 拷贝到Tomcat的webapps目录下(如D:\apache-tomcat-7.0.57\webapps),重新启动Tomcat 并访问http://localhost:8080/(目的是解压solr.war),然后你会发现solr-4.10.2/example/webapps/下多了一个Solr的目录。

    3、在D:\apache-tomcat-7.0.57\webapps\solr创建solr_home目录:

    4、修改D:\apache-tomcat-7.0.57\webapps\solr\WEB-INF\web.xml 添加如下配置(apache-tomcat-7.0.56/webapps/solr/WEB-INF/web.xml)

    配置solr home的地址:

    5、复制solr-4.10.2的solr-4.10.2/example/solr/ 所有内容copy到solr_home

    6、复制solr-4.10.2的solr-4.10.2/example/lib/ext目录下所有文件

    到 apache-tomcat-7.0.56/webapps/solr/WEB-INF/lib

    7、复制solr-4.10.2的example/resources目录下的log4j.properties文件到Tomcat的lib下;

    启动Tomcat。

    访问:http://localhost:8080/solr进入到管理界面

    三、 JAVA工程中如何应用Solr.

    1.导入jar包

    在eclipse中导入Solr文件夹中dist目录下solr-solrj.jar, solr-core.jar, slf4-nop.jar , commons-logging.jar包。没有的在网上下载。同时导入dist/solr-lib下的所有jar包。

    2 . solr添加索引注意事项:

    向solr对象中用add方法提交SolrInputDocument速度比较慢,所以尽量一次提交SolrInputDocument 链表。如:

    String url = "http://localhost:8080/solr";

    SolrServer  server = new HttpSolrServer(url);

    SolrInputDocument doc = null;

    List docs = new ArrayList();

    for(int i=0;i<10;i++){

    doc = new SolrInputDocument();

    doc.addField("id", index);

    doc.addField("title_ss", title);

    doc.addField("article_ss", article);

    docs.add(doc);

    }

    server.add(docs);

    server.commit();

    注:doc中加入的字段在\solr\solr_home\collection1\conf\schema.xml中field标签里面如:

    还可以自定义动态标签,dynamicField。

    如上面的例子就是用的动态标签。

    3.solr查询

    HttpSolrServer solr = new HttpSolrServer("http://localhost:8080/solr");

    SolrQuery query = new SolrQuery();

    str += "title_ss:"+"*"+key+"*" +" OR " +"article_ss:"+"*"+key+"*";  //多字段查询,“*”表示任意匹配

    query.setQuery(str);

    query.setRows(10000);//限制查询出的数据量

    QueryResponse response = solr.query(query);

    SolrDocumentList results = response.getResults();

    for(int i=0; i<results.size(); i++)

            System.out.println(results.get(i).getFieldValue("title_ss"));

    相关文章

      网友评论

          本文标题:Solr4.X的安装和使用

          本文链接:https://www.haomeiwen.com/subject/colyhttx.html