5

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

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

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

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

http://localhost:<defaultport>/admin

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

是否有我用来指定访问管理 UI 的 Web 路径的设置?

4

2 回答 2

11

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

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

您不能让您的 solr 服务器运行并运行通过 EmbeddedSolrServer 访问相同索引的应用程序,否则您将收到 LockObtainFailedException。Solr 一次只允许每个索引一个读取器/写入器,并且该读取器/写入器获取“锁”以访问索引。这可以防止索引因多个同时读取/写入而损坏。

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

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

于 2013-06-07T20:47:43.490 回答
0

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

重定向你想要的网址

http://localhost :/admin

到 solr 管理 url

http://localhost:8983/solr

于 2016-12-01T10:09:29.423 回答