之前搭建过SolrCloud和Solr单机版本,另外还有很多对Solr配置文件以及核心的操作,以下主要总结Solr集群中的常用操作,即在配置文件中正确设置ZK_HOST参数并且Zookeeper正确启动才是集群模式,一台计算机也可以开启集群模式,这里集群是不包含测试实例的集群,也就是没有默认的gettingstarted的collection,常用总结如下:
1、启动solr服务
bin/solr start
2、停止所有的solr服务
bin/solr stop -all
3、停止指定端口的服务
bin/solr stop -p
4、solr状态查看
bin/solr status
查看结果包括solr安装目录、版本号、启动时间、内存占用、Zookeeper集群、节点个数、collections个数统计等
5、指定collections状态检查,比如my_collection
bin/solr healthcheck -c my_collection
结果会列出my_collection所有的shard分片状态、核心名称、文档个数、内存占用等等信息
6、上传并新建配置(前面说过),比如配置名称为my_config、zookeeper节点为/solr
./server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:/solr -cmd upconfig -confdir configs/conf -confname my_config
-confdir指定配置文件存放位置
7、根据上传的配置创建collections,设置名称为my_collection,分片数量为3和集群节点保持一致
curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=my_collection&numShards=3&collection.configName=my_config"
和直接使用浏览器访问一样
8、列出所有collections,浏览器访问的方式即可,假设ip为192.168.1.170
http://192.168.1.170:8983/solr/admin/collections?action=LIST
9、删除指定collections
bin/solr delete -c my_collection
执行命令后会将my_collections数据以及上传的配置my_config一并删除,或者使用下面命令
curl "http://localhost:8983/solr/admin/collections?action=DELETE&name=my_collection"
实际上上面2个命令的本质是一样的,第一个命令执行过程中我们根据输出可以看到同样是调用了第二个命令发送http请求来完成collections的删除
10、删除指定id的数据
bin/post -c my_collection -d '<delete><id>5</id></delete>'
11、根据一般指定条件删除对应的数据
bin/post -c my_collection -d '<delete><query>key_name:we</query></delete>'
比如上面一行指令,删除字段key_name为we的所有数据
12、删除指定字段所有数据:
bin/post -c my_collection -d '<delete><query>location_ca:*</query></delete>'
如果这个字段是每个记录都存在的,那么相当于删除所有数据;对于没有该location_ca字段的数据则不会删除
下面是清空指定collections中的所有数据:
bin/post -c my_collection -d '<delete><query>*:*</query></delete>'