码迷,mamicode.com
首页 > 其他好文 > 详细

solrj-WiKi

时间:2015-02-05 13:07:19      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

  solrj是一个访问solr的客户端,它提供了一个接口,用于添加、更新、删除索引数据.

solrj跨版本兼容

   solrj一般保持向后兼容,所以你可以使用新版本的solrj访问老版本的solr服务,也可以使用老版本的solrj访问新版本的solr.

  如果混合了1.x和以后的主版本,那么必须设置响应解析器XML:

server.setParser(new XMLResponseParser());

 

   3.x和4.x或者以后的版本混合的solr工作正常,只要不更改这个请求writer为二进制格式.

  有一个例外情况javabin格式,兼容方式在主版本之间已经改变.

设置类路径

  solrj需要的最小jar包集合:

  /dist:

    apache-solr-solrj-*.jar

  /dist/solrj-lib:

    • commons-codec-1.3.jar
    • commons-httpclient-3.1.jar
    • commons-io-1.4.jar
    • jcl-over-slf4j-1.5.5.jar
    • slf4j-api-1.5.5.jar

    /lib:

     slf4j-jdk14-1.5.5.jar

Maven

  在官方maven仓库中solrj是可以使用的,加入一下依赖到pom.xml中:

<dependency>
    <artifactId>solr-solrj</artifactId>
    <groupId>org.apache.solr</groupId>
    <version>4.7.2</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

 

  如果使用EmbeddedSolrServer,加入一下依赖:

<dependency>
    <artifactId>solr-core</artifactId>
    <groupId>org.apache.solr</groupId>
    <version>4.7.2</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

 

   同样,如果使用了EmbeddedSolrServer,注意Servlet API的依赖:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>3.0</version>
</dependency>

 

   如果碰到NoClassDefFoundError 异常,加入一下依赖:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.6.6</version>
</dependency>

 

 HttpSolrServer

  HttpSolrServer使用Apache Commons HTTP Client连接solr. 注意:在solr4.0中, CommonsHttpSolrServer 改成了 HttpSolrServer ,StreamingUpdateSolrServer 改成了ConcurrentUpdateSolrServer.

        String url = "http://localhost:8983/solr";
        /*
         * HttpSolrServer线程安全,如果使用下面构造器,必须对所有的请求重用相同的实例.如果实例在运行中创建的,它可能会导致连接泄漏.
         * 推荐的做法就是保持每个solr服务url的HttpSolrServer的静态实例,所有的请求都共享这个实例.
         * 参考https://issues.apache.org/jira/browse/SOLR-861查看更多细节.
         */
        SolrServer server = new HttpSolrServer(url);

 

 

 

 

 

 

 

 

 

 

 

 

翻译:http://wiki.apache.org/solr/Solrj

 

solrj-WiKi

标签:

原文地址:http://www.cnblogs.com/a198720/p/4274413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!