本学习笔记来自官网参考文档,环境为jdk1.8.151,macbookpro上学习。
首先到官网下载7.2版本的solr压缩包:http://www.apache.org/dyn/closer.lua/lucene/solr/7.2.1
然后将下载的压缩包减压缩:uzip solr-7.2.0.zip
得到solr-7.2.0目录:
这个时候如果你是一个java开发那你就可以开始启动solr服务了,如果不是,那你需要单独安装java的开发环境jdk1.8及以上。具体安装方法比较多,请百度即可。
启动solrcloud模式的命令:进入solr-7.2.0目录执行如下命令:
./bin/solr start -e cloud开始启动
询问启动多少个node节点,默认启动2个节点,因为我们只是入门学习所以选择默认值即可,直接回车下一步;
请输入第一个节点的端口号,默认的端口号为8983,如果你的机器中无人占用该端口号,则直接回车下一步即可,如果有人已经占用了该端口号则输入新的端口号并回车。
输入你第二个节点的端口号,配置说明同节点1,默认端口号为7574,输入端口号并回车。
等待几秒钟时间出现如下输出:
输入你新集合的名字开始学习solr,
因为学习参考所以我们输入techproducts后回车继续下一步:
要做多少个分片,对于刚刚建立的集合techproducts,默认是2个分片。然后直接回车;
对每个分片要做几个副本集,默认是创建2个,所以我们也直接回车。
给techproducts集合选择一个配置文件,因为_default太省略了,所以我们选择sample_techproducts_configs来练习。所以输入sample_techproducts_configs并回车。
到此所有的配置信息就已经结束了,如果一切顺利,你应该看到这样的输出:
表示你的SolrCloud已经开始运行了,你可以在你的http://localhost:8983/solr访问了。
那么我们联系用的solrCloud模式架构为:
如果你真的去访问,你是可以看到solr的运行界面,但里面啥也没有,因为我们只是建立了集合,但并没有导入数据。
所以接下来我们添加数据到集合中:通过bin/post命令来完成
bin/post -c techproudcuts example/exampledocs/*
该命令将example/exampledocs目录下的数据文件导入techproducts集合中。
如果没有报错,你应该看到最后输出的是:
当然时间花费有可能不一样。
到此你带数据的solr服务就完成了,那么下来我们就可以在此基础上开始做查询练习了。
那么solr服务的关闭如何关闭呢。比较简单,一条命令:./bin/solr stop -all即可关闭全部solr相关的服务。
而启动则需要分别来启动两个节点:
./bin/solr start -c -p 8983 -s example/cloud/node1/solr
./bin/solr start -c -p 7574 -s example/cloud/node2/solr -z localhost:9983
其中节点2的启动命令中加了-z表示注册中心在节点1中
那么我们在浏览器输入:http://localhost:8983/solr/#/techproducts/query
得到如下图所示界面:
curl "http://localhost:8983/solr/techproducts/select?indent=on&q=*:*"
通过culr的http方式也可以对solr做查询。
简单查询:
curl "http://localhost:8983/solr/techproducts/select?q=foundation"
那么对于我们不想要的集合如何删除呢,
通过命令行删除:
bin/solr delete -c techproducts
新建另外一个集合的命令:
bin/solr create -c "your collectionname" -s 2 -rf 2 完成新集合的添加。