如何向 Solr 查询集合的详细信息,例如集合的配置名称?
How to query Solr for a Collection's details, such as a Collections' config name?
如何使用 HTTP API 查询 Solr 以获取有关集合的信息?我不是在谈论集合的索引,我可以使用 COLSTATUS 命令查询这些索引。我说的只是一个集合的基本细节,在Solr web管理页面点击一个集合就可以看到,比如配置名称。
请尝试以下代码。
getConfigName(String collectionName){
//provide the list of zookeeper instances
List<String> zkHosts = ""
// get the solr cloud client
CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder (zkHosts, Optional.empty
()).build ();
// get the config for the collection
String configName = solrConnectionProvider.getCloudSolrClient().getZkStateReader().readConfigName(collectionName);
return configName;
}
请自行处理异常情况。
想知道 Web 界面中提供的信息来自何处时,最简单的方法是打开浏览器的开发工具并转到“网络”部分。由于该界面是一个小型 Javascript 应用程序,它在后台使用可用的 REST API - 与您自己查询的方式相同。
广泛的collection信息可以通过查询检索:
/solr/admin/collections?action=CLUSTERSTATUS&wt=json
(任何 _
参数仅用于缓存清除)。
这将 return 列出所有存在的 collection 及其元数据,例如它们使用的配置集以及 collection 由哪些分片组成。这与 Web 界面使用的 API 端点相同。
collections":{
"aaaaa":{
"pullReplicas":"0",
"replicationFactor":"1",
"shards":{"shard1":{
"range":"80000000-7fffffff",
"state":"active",
"replicas":{"core_node2":{
"core":"aaaaa_shard1_replica_n1",
"base_url":"http://...:8983/solr",
"node_name":"...:8983_solr",
"state":"down",
"type":"NRT",
"force_set_state":"false",
"leader":"true"}}}},
"router":{"name":"compositeId"},
"maxShardsPerNode":"1",
"autoAddReplicas":"false",
"nrtReplicas":"1",
"tlogReplicas":"0",
"znodeVersion":7,
"configName":"_default"},
...
}
如何使用 HTTP API 查询 Solr 以获取有关集合的信息?我不是在谈论集合的索引,我可以使用 COLSTATUS 命令查询这些索引。我说的只是一个集合的基本细节,在Solr web管理页面点击一个集合就可以看到,比如配置名称。
请尝试以下代码。
getConfigName(String collectionName){
//provide the list of zookeeper instances
List<String> zkHosts = ""
// get the solr cloud client
CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder (zkHosts, Optional.empty
()).build ();
// get the config for the collection
String configName = solrConnectionProvider.getCloudSolrClient().getZkStateReader().readConfigName(collectionName);
return configName;
}
请自行处理异常情况。
想知道 Web 界面中提供的信息来自何处时,最简单的方法是打开浏览器的开发工具并转到“网络”部分。由于该界面是一个小型 Javascript 应用程序,它在后台使用可用的 REST API - 与您自己查询的方式相同。
广泛的collection信息可以通过查询检索:
/solr/admin/collections?action=CLUSTERSTATUS&wt=json
(任何 _
参数仅用于缓存清除)。
这将 return 列出所有存在的 collection 及其元数据,例如它们使用的配置集以及 collection 由哪些分片组成。这与 Web 界面使用的 API 端点相同。
collections":{
"aaaaa":{
"pullReplicas":"0",
"replicationFactor":"1",
"shards":{"shard1":{
"range":"80000000-7fffffff",
"state":"active",
"replicas":{"core_node2":{
"core":"aaaaa_shard1_replica_n1",
"base_url":"http://...:8983/solr",
"node_name":"...:8983_solr",
"state":"down",
"type":"NRT",
"force_set_state":"false",
"leader":"true"}}}},
"router":{"name":"compositeId"},
"maxShardsPerNode":"1",
"autoAddReplicas":"false",
"nrtReplicas":"1",
"tlogReplicas":"0",
"znodeVersion":7,
"configName":"_default"},
...
}