使用solrcloud 4.6,假设我有一个8节点集群,每个节点上运行一个分片和许多不同的集合。基本上每天都会收集一些(用于分区数据)。现在问题是如何在不知道名字的情况下搜索所有收藏品?
维基说我可以这样做:
http://localhost:8983/solr/collection1/select?collection=collection1_NY,collection1_NJ,collection1_CT
基本上是同时搜索多个集合。但在我的情况下,集合是动态创建的,我不知道当前的名称。
有没有办法发送能够访问所有馆藏的通用搜索查询?
或者指定collection1-10
或collection*2013
等集合的范围的方式?
我也知道我可以加入ZK并获取信息,但这对我正在做的事情来说太先进了。
感谢。
答案 0 :(得分:6)
这应该用SOLR-5466完成(编辑这是从4.8开始),但还没有准备好补丁......
在this question on the mailing list中给出了两个解决方法,包括从zookeeper检索信息,通过api调用或解析html响应到get。
以下是两个解决方法:
ZK客户端API 你可以在zk节点上做一个get_children / collections /获取所有馆藏。
将此url指向您的solrCloud安装
?HREF =“HTTP://主机:端口/ solr的/动物园管理员详细=真安培;路径=%2Fcollections
你应该在集合节点下寻找孩子。
答案 1 :(得分:0)
据我所知,您需要了解有关集合的内容,并为一组集合创建别名。 你可以这样做:
http://localhost:8983/solr/admin/collections?action=CREATEALIAS&name=AliasName&collection=ListOfCollections
有关此主题的更多信息:http://blog.cloudera.com/blog/2013/10/collection-aliasing-near-real-time-search-for-really-big-data/
答案 2 :(得分:0)
我通过请求找到了收藏列表:
http://localhost:8983/solr/admin/collections?action=LIST
我的Solr版本是:8.7.0