更新时间:2024-11-29 GMT+08:00

浏览器URL的Rest消息

Apache Solr官网提供了SolrCloud的介绍,以及相应的API介绍:https://solr.apache.org/guide/8_11/

通过浏览器的URL发送消息,需要客户端能够ping通服务端。系统如果为安全模式,需全部为https的请求,如果为普通模式,可以为https或者http请求。下面的操作示例主要为https消息。

在发送URL前,需要保证本地与服务端能够ping通。

  1. 创建Collection

    https://solrIp:solrPort/solr/admin/collections?action=CREATE&name=test1&collection.configName=confWithSchema&numShards=3&replicationFactor=1

    参数说明:

    • action:表示操作类型
    • name:表示创建Collection的名称
    • collection.configName:创建该Collection所采用的配置文件集
    • numShards:创建Collection的分片数
    • replicationFactor:每个分片的复制因子
    图1 创建Collection

    “solrIp”“solrPort”根据实际的应用场景来写。

    在Collection中,有两种路由方式创建Collection,一种为ImplicitDocRouter,一种为CompositeIdRouter。这种通过URL创建Collection,且指定了numshards数,默认为采用CompositeIdRouter的方式。这种方式创建Collection后,不能添加shard,只能通过split方式来再次进行分片。

  2. 添加文档

    https://solrIp:solrPort/solr/test1/update?stream.body=<add><doc boost="1.0"><field name="id">2</field><field name="name">张三</field></doc></add>

    &stream.contentType=text/xml;charset=utf-8&commit=true

    参数说明:

    • test1:Collection的名称
    • stream.body:添加的索引数据
    • add:表示添加document
    • stream.contentType:添加的数据的格式
    • commit:是否立即提交
  3. 查询索引

    https://solrIp:solrPort/solr/test1/select?q=*&wt=json&indent=true

    参数说明:

    • test1:Collection名称
    • q:表示查询的内容
    • wt:返回的格式
    • indent:返回的结果是否缩进
  4. 删除文档

    https://solrIp:solrPort/solr/test1/update?stream.body=<delete><query>*:*</query></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

    参数说明:

    • test1、stream.body、stream.contentType和commit参数含义与上面添加文档参数意义。
    • delete:要删除的document
    • query:查询,这里*:*是指所有的文档
  5. 删除Collection

    https://solrIp:solrPort/solr/admin/collections?action=DELETE&name=test1

    参数说明:

    • action:表面操作类型
    • name:要删除的Collection的名称