浏览器URL的Rest消息
Apache Solr官网提供了SolrCloud的介绍,以及相应的API介绍:https://solr.apache.org/guide/8_11/。
通过浏览器的URL发送消息,需要客户端能够ping通服务端。系统如果为安全模式,需全部为https的请求,如果为普通模式,可以为https或者http请求。下面的操作示例主要为https消息。
在发送URL前,需要保证本地与服务端能够ping通。
- 创建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方式来再次进行分片。
- 添加文档
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:是否立即提交
- 查询索引
https://solrIp:solrPort/solr/test1/select?q=*&wt=json&indent=true
参数说明:
- test1:Collection名称
- q:表示查询的内容
- wt:返回的格式
- indent:返回的结果是否缩进
- 删除文档
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:查询,这里*:*是指所有的文档
- 删除Collection
https://solrIp:solrPort/solr/admin/collections?action=DELETE&name=test1
参数说明:
- action:表面操作类型
- name:要删除的Collection的名称