何时将SolrJAR文件添加到web应用程序而不是使用Solrj?

何时将SolrJAR文件添加到web应用程序而不是使用Solrj?,solr,Solr,我正在研究如何将Solr合并到现有的web应用程序中 我发现了两种将Solr合并到现有web应用程序中的基本方法。一个是。换句话说,没有单独的Solr服务器实例 另一种是使用Solrj从单独的Solr服务器实例查询数据 我的第一印象是Solrj方法更健壮(还没有实际使用它) 因此,我的问题是:在什么情况下,我会使用第一种方法(解包solr.war并将jar文件添加到我自己的应用程序)?将solr视为关系数据库服务器的一个类比:使用嵌入式数据库的原因就是这样使用solr的原因。选择单独的Solr服

我正在研究如何将Solr合并到现有的web应用程序中

我发现了两种将Solr合并到现有web应用程序中的基本方法。一个是。换句话说,没有单独的Solr服务器实例

另一种是使用Solrj从单独的Solr服务器实例查询数据

我的第一印象是Solrj方法更健壮(还没有实际使用它)


因此,我的问题是:在什么情况下,我会使用第一种方法(解包solr.war并将jar文件添加到我自己的应用程序)?

将solr视为关系数据库服务器的一个类比:使用嵌入式数据库的原因就是这样使用solr的原因。选择单独的Solr服务器有以下优点:

  • 更好的可管理性(能够独立更新、重新启动和配置)
  • 可用于多个客户端
一些缺点:

  • 通信开销
  • 更复杂的部署

我的默认选择是单独的实例,开销不大。

@MauricioScheffer如果我理解正确,Solrj可以通过两种方式使用:使用HTTP连接到远程Solr服务器,并将Solr嵌入我的应用程序(无需远程服务器)。此外,一般不建议嵌入。但是如果你真的选择嵌入,他们应该使用Solrj,我的文章中的链接不再是嵌入Solr的方式。是的,代码与文章非常相似,但wiki始终是权威的来源。事实上。使用单独的服务器,除非你有很好的理由不这样做。(例如,测试环境)。嵌入式和远程都可以通过solrJ进行通信。事实上,在最初的2/3行设置代码之后,您的其余代码甚至不知道/不关心它是否正在与远程或嵌入式服务器通信。