HttpSolrServer / CloudSolrServer支持/schema
请求处理程序,但EmbeddedSolrServer不支持,我希望使用SolrJ访问相同的信息(没有HTTP请求)。
使用EmbeddedSolrServer时,通过将CoreContainer传递给构造函数来创建实例。稍后,可以使用getCores()
方法查询CoreContainer(嗯,只是嵌入式服务器中的那个)SolrCore。从任何给定的SolrCore,我可以使用getSchema()
获取其模式。
我现在想用HttpSolrServer服务器和CloudSolrServer做同样的事情。但是,他们似乎没有办法要求加载SolrCores或CoreContainers或任何东西的列表。我知道CoreAdmin,但只检索每个核心的状态,无法获取SolrCore
的Java实例。
是否可以使用SolrJ从HttpSolrServer / CloudSolrServer获取SolrCores列表,以及如何完成?
答案 0 :(得分:1)
从Solr 5.3开始,SolrJ具有用于模式访问的API-请参见SchemaRequest。
例如,要检索集合模式,可以使用(在Solr 7中):
CloudSolrClient client = ...;
SchemaRequest request = new SchemaRequest();
SchemaResponse response = request.process(client, "collectionName");
SchemaRepresentation schema = response.getSchemaRepresentation();