专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

SolrJ

什么是SolrJ

SolrJ是访问Solr服务的java客户端,提供索引和搜索的请求方法,SolrJ通常在嵌入在业务系统中,通过SolrJ的API接口操作Solr服务。

SolrJ主要方法

SolrJ相关的类都包含在Solr源码的org.apache.solr.client.solrj包下,该包下面主要包含了5个关键类。SolrClient、SolrRequest、SolrQuery、SolrResponse、ResponseParser。其中SolrClient类表示Solr Client是一个Solr客户端的抽象。通过SolrClient你可以与Solr Server进行如下操作。

add

添加一个索引文档到Solr Server,为了支持面向对象编程,SolrClient提供了addBean方法,允许直接提交一个Java对象,SolrClient内部会借助DocumentObjectBinder来完成Java对象与SolrInputDocument对象之间的类型转换。为了支持批量添加索引文档,你还可以直接add一个Document集合或者通过addBeans方法添加一个对象集合。

commit

即显式的提交一个索引硬提交请求。

optimize

即显式的要求Solr Server执行一次索引优化,会触发Solr的索引段文件合并,此操作一般不建议调用太频繁。

rollback

即显式的要求Solr Server将尚未提交的索引文档从队列中剔除,此回滚操作并不像是关系型数据库里的回滚操作,它不保证100%会回滚,因为你上一次提交的索引文档可能会由于你配置了AutoCommit,可能刚好由于缓冲区满了导致一次索引Flush、或者AutoCommit的间隔时间或者最大缓存索引文档个数达到临界值自动出发了一次硬提交,或者另一个SolrClient客户端显式的发起了commit操作导致索引已经提交,此时索引文档已经写入到硬盘。,rollback操作将无济于事。

deleteById &deleteByQuery

这两个方法主要用于向Solr Server发起一个索引删除操作,deleteById表示根据Document的主键ID来删除索引文档,这里的主键ID是你在schema.xml中配置的uniqueKey。deleteByQuery用于按照Solr查询来删除多个索引文档。

query & getById

这组方法主要用于向Solr Server发起一个查询请求,其中getById方法是一个特殊的查询请求,即根据索引文档的主键ID进行查询,前提是你的schema.xml配置了uniqueKey。

ping

用于发起一个ping请求来检测Solr Server是否还“活着”,前提是你需要在Solrconfig.xml中配置PingRequestHandler。

    <!-- ping/healthcheck -->
    <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
        <lst name="invariants">
            <str name="q">solrpingquery</str>
        </lst>
        <lst name="defaults">
            <str name="echoParams">all</str>
        </lst>
        <!-- <str name="healthcheckFile">server-enabled.txt</str> -->
    </requestHandler>

request

用于向Solr Server的指定Core或Collection发起一个HTTP请求。

参考文档

文章永久链接:https://tech.souyunku.com/45101

未经允许不得转载:搜云库技术团队 » SolrJ

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们