Solr:我知道solr是用java编写的,我如何在java中创建和控制正在运行的实例,而不是将它作为一个单独的进程运行?

时间:2012-04-03 02:59:57

标签: java solr

我想以编程方式从java中访问solr,而不是将其作为单独的服务使用,我将http请求传递给。有没有办法直接从java启动和访问它,而不是将它作为独立服务使用?

如果这是不可能的,我想要一种方法将solr打包到我的应用程序,以便最终用户不必事先在他们的系统上安装solr。我试图让我的应用程序使用solr,但不必单独安装,但这是可能的。

由于某种原因,我觉得我的整个问题在这里被误导了,这对我来说都是新的领域,谢谢!任何方向都将不胜感激。

1 个答案:

答案 0 :(得分:4)

Solr建议使用HTTP接口,因为这是使用它的最佳支持方法。

但是,如果你想做你想做的事情,那就叫做嵌入,可以使用Solrj客户端库,使用EmbeddedSolrServer来运行嵌入式Solr代码中的实例。

显示嵌入式服务器使用情况的代码段为also on the Solrj page

// Note that the following property could be set through JVM level arguments too
  System.setProperty("solr.solr.home", "/path-to-solr");
  CoreContainer.Initializer initializer = new CoreContainer.Initializer();
  CoreContainer coreContainer = initializer.initialize();
  EmbeddedSolrServer server = new EmbeddedSolrServer(coreContainer, "");