以下基于solr6.0.0
官方文档地址:http://archive.apache.org/dist/lucene/solr/ref-guide/apache-solr-ref-guide-6.0.pdf
solr下载地址:https://archive.apache.org/dist/lucene/solr/
1.solr单机版
我是在windows下启动的
解压包,到solr-6.0.0/bin目录,执行solr.cmd start即可,默认是后台运行
前台运行:solr.cmd start -f
默认端口是8983,启动时修改端口:solr.cmd start -p 8984
访问solr管理控制台:http://localhost:8983/solr/
添加core:
进入到solr-6.0.0\bin目录
查看状态:solr status
创建core: solr create -create_core test (create_core,create_collection)
停止:bin/solr stop -all
2.集群模式SolrCloud
solr集群的元数据都是存储到zookeeper上,只要solr以cloud方式启动,并且启动时指定的zk地址一致,则这些solr就组成了一个集群。
比如我下面启动两个节点,组成一个集群。
还是上面的包,解压出来什么都不用改。
进入到bin目录下,执行:
./solr start -c -p 8980 -s E:\\solr\\solr01\\server\\solr -z localhost:2181,localhost:2182,localhost:2183
另一台启动需要修改端口(8990)和solrhome地址,其它都一样。
参数解释:
-c 以集群的方式启动
-s 指定solrHome 需要提前创建目录,并且需要有solr.xml(可拷贝server/solr/solr.xml),不指定也有默认地址
-p 占用的端口号
-z 指定zk地址,多个用逗号分隔,我这里指定的是zk集群,搭建zk集群可参考。
其它参数:
-f 指定solr前台运行,solr默认是后台运行
-h 指定hostname
-m 1g 指定jvm堆大小
启动时设置Java属性:
bin/solr start -Dsolr.autoSoftCommit.maxTime=3000
创建一个collection,名为user,有两个分片:
.\solr create -c user -s 2 -rf 2 -p 8990
参数解释:
-c : 执行collection name
-s(-shards) : shards数量
-rf(-replicationFactor) : 副本数
相当于user这个collection分成了两份,每份有相同的两个
-p : 指定命令发送到那个节点
可以在管理控制台看到效果:http://localhost:8980/solr/#/~cloud
停止
bin/solr stop -all #停止所有
-p #指定停止占用该端口的节点
删除collection:
bin/solr delete -c collectionName
更多的使用参考官方文档