我想以编程方式从Java内部访问solr,而不是将其用作传递http请求的单独服务。有没有一种方法可以直接从Java启动并访问它,而不是将其用作独立服务?
如果无法做到这一点,我希望有一种方法将solr与我的应用程序打包在一起,以便最终用户不必事先在其系统上安装solr。我试图让我的应用程序使用solr,但不必单独安装它,但是这是可能的。
由于某种原因,我感到我的整个问题在这里被误导了,这对我来说是新的领域,谢谢!任何方向将不胜感激。
最佳答案
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, "");