在我的网络应用中,我正在运行org.apache.solr.client.solrj.embedded.EmbeddedSolrServer
出于调试目的,我想访问管理界面。
这是我实例化服务器的方式:
new EmbeddedSolrServer(new CoreContainer.Initializer().initialize(), "");
有没有办法像这样打开这个嵌入式服务器的管理界面?
http://localhost:<defaultport>/admin
如果是这样我将使用哪个端口(默认端口是什么)?
否则我有一个设置用于指定访问管理界面的Web路径?
答案 0 :(得分:8)
不,没有。至少,不是在您的应用程序运行时。
嵌入式solr服务器直接在solr安装目录中的文件系统上读取和写入索引。要访问管理控制台,请关闭您的应用。在控制台中,导航到solr安装目录中的/ example。输入java -jar start.jar。然后,您可以导航到http://localhost:8983/solr
访问管理目录。
您无法运行solr服务器并运行通过EmbeddedSolrServer访问相同索引的应用程序,否则您将获得LockObtainFailedException。 Solr一次只允许每个索引一个读取器/写入器,并且该读取器/写入器获得锁定&#39;为了访问索引。这可以防止索引从多个同时读/写中被破坏。
出于这个原因,我更喜欢使用HttpSolrServer而不是EmbeddedSolrServer,即使对于开发环境也是如此。
答案 1 :(得分:0)