SolrCloud:如何在不知道个人姓名的情况下搜索所有可用的馆藏?

时间:2014-01-17 23:11:46

标签: collections solr bigdata solrcloud

使用solrcloud 4.6,假设我有一个8节点集群,每个节点上运行一个分片和许多不同的集合。基本上每天都会收集一些(用于分区数据)。现在问题是如何在不知道名字的情况下搜索所有收藏品?

维基说我可以这样做:

http://localhost:8983/solr/collection1/select?collection=collection1_NY,collection1_NJ,collection1_CT

基本上是同时搜索多个集合。但在我的情况下,集合是动态创建的,我不知道当前的名称。

有没有办法发送能够访问所有馆藏的通用搜索查询?

或者指定collection1-10collection*2013等集合的范围的方式?

我也知道我可以加入ZK并获取信息,但这对我正在做的事情来说太先进了。

感谢。

3 个答案:

答案 0 :(得分:6)

这应该用SOLR-5466完成(编辑这是从4.8开始),但还没有准备好补丁......

this question on the mailing list中给出了两个解决方法,包括从zookeeper检索信息,通过api调用或解析html响应到get。

以下是两个解决方法:

  1. ZK客户端API 你可以在zk节点上做一个get_children / collections /获取所有馆藏。

  2. 没有ZK客户端API的
  3. 将此url指向您的solrCloud安装

    HREF =“HTTP://主机:端口/ solr的/动物园管理员详细=真安培;路径=%2Fcollections

  4. 你应该在集合节点下寻找孩子。

答案 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