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