如何访问EmbeddedSolrServer实例的管理界面?

时间:2013-06-04 15:51:57

标签: java solrj

在我的网络应用中,我正在运行org.apache.solr.client.solrj.embedded.EmbeddedSolrServer 出于调试目的,我想访问管理界面。

这是我实例化服务器的方式:

new EmbeddedSolrServer(new CoreContainer.Initializer().initialize(), "");           

有没有办法像这样打开这个嵌入式服务器的管理界面?

http://localhost:<defaultport>/admin

如果是这样我将使用哪个端口(默认端口是什么)?

否则我有一个设置用于指定访问管理界面的Web路径?

2 个答案:

答案 0 :(得分:8)

不,没有。至少,不是在您的应用程序运行时。

嵌入式solr服务器直接在solr安装目录中的文件系统上读取和写入索引。要访问管理控制台,请关闭您的应用。在控制台中,导航到solr安装目录中的/ example。输入java -jar start.jar。然后,您可以导航到http://localhost:8983/solr 访问管理目录。

您无法运行solr服务器并运行通过EmbeddedSolrServer访问相同索引的应用程序,否则您将获得LockObtainFailedException。 Solr一次只允许每个索引一个读取器/写入器,并且该读取器/写入器获得锁定&#39;为了访问索引。这可以防止索引从多个同时读/写中被破坏。

出于这个原因,我更喜欢使用HttpSolrServer而不是EmbeddedSolrServer,即使对于开发环境也是如此。

请参阅: http://wiki.apache.org/solr/Solrj#EmbeddedSolrServer

答案 1 :(得分:0)

是的,你可以,只需使用reditect技巧

重定向您想要的网址

http://localhost:/管理

到solr admin url

http://localhost:8983/solr