• SolrJ总结


    1.solrJ概念

    solrJ是Java连接solr进行查询检索和索引更新维护的jar包。

    2.项目引入solrJ相关jar包

    对于maven工程,直接将下面内容加入到pom文件中即可。

    1. <dependency>
    2. <groupId>org.apache.solr</groupId>
    3. <artifactId>solr-solrj</artifactId>
    4. <version>5.3.1</version>
    5. </dependency>

    注意solrj编译依赖下面jar包

    非maven工程,可在solr安装目录下找到所有需要的jar包

    3.主要用到的类接口简介


    如上图SolrClient是所有类基类,里面定义了更新维护索引、搜索相关的接口;LBHttpSolrClient用于有多个solr服务器时实现负载均衡的情况;ConcurrentUpdateSolrClient类是线程安全类,推荐在更新维护索引时用;HttpSolrClient用于独立工作模式的solr的查询;CloudSorlClient用于solrCould模式。以HttpSolrClient为例说明主要接口的使用。

    • 初始化SolrClient对象
    1. //直接指定solr的URL和core1,只能查询或更新core1内容
    2. SolrClient client = new HttpSolrClient("http://my-solr-server:8983/solr/core1");
    3. QueryResponse resp = client.query(new SolrQuery("*:*"));
    4. //指定solr的URL,查询或更新时要指定core
    5. SolrClient client = new HttpSolrClient("http://my-solr-server:8983/solr");
    6. QueryResponse resp = client.query("core1", new SolrQuery("*:*"));
    • 更新维护索引的主要接口是

      1. addBean(Object obj)
      2. addBean(Object obj, int commitWithinMs)
      3. addBean(String collection, Object obj, int commitWithinMs)
      4. add(String collection, Collection<SolrInputDocument> docs, int commitWithinMs)
      5. add(String collection, SolrInputDocument doc, int commitWithinMs)

      该函数有多个重载形式,obj是要加入索引的实体对象,collection指定要操作的core,commitWithinMs要提交的毫秒数,默认为-1,add后不会更新,要调用
      commit(String collection)提交后才能更新查询到。

    • SolrInputDocument和Object之间转换

    1. doc = getBinder().toSolrInputDocument(obj);
    2. objList =solr.getBinder().getBeans(CaseEntity.class, resp.getResults());




  • 相关阅读:
    兼容css3.0中的boxshadow
    获取页面和元素可视高度
    关于javascript中apply()和call()方法的区别
    BFC(Block Formatting Context)
    minheight最小高度的实现(兼容IE6、IE7、FF)
    sicily 1825. Nickname
    sicily 2000. Toy Shopping
    sicily 2075. 2.2 Computing the volume of a cylinder
    sicily 2001. Scavenger Hunt
    sicily 1608. Digit Counting
  • 原文地址:https://www.cnblogs.com/doit8791/p/4902571.html
Copyright © 2020-2023  润新知