Windows Git源代码管理下的Solr配置和设置

Windows Git源代码管理下的Solr配置和设置,windows,git,service,version-control,solr,Windows,Git,Service,Version Control,Solr,我已经让Solr在windows上作为服务运行。我使用NSSM()将服务设置为自动启动。web服务器是Jetty 我希望我的Solr目录在Git中受源代码控制,因为配置更改(有时是插件更改)需要由所有团队成员处理。至少,我希望将配置文件(solrconfig.xml、schema.xml、stopwords.txt等)置于Git控制之下,但理想情况下,我希望将整个solr目录(包括jar和war文件)置于Git控制之下。这会带来什么问题吗?我可以预见,在Solr服务运行的同时,我们将执行提交并切

我已经让Solr在windows上作为服务运行。我使用NSSM()将服务设置为自动启动。web服务器是Jetty

我希望我的Solr目录在Git中受源代码控制,因为配置更改(有时是插件更改)需要由所有团队成员处理。至少,我希望将配置文件(solrconfig.xml、schema.xml、stopwords.txt等)置于Git控制之下,但理想情况下,我希望将整个solr目录(包括jar和war文件)置于Git控制之下。这会带来什么问题吗?我可以预见,在Solr服务运行的同时,我们将执行提交并切换分支


其他团队是如何在源代码管理下配置Solr的?

我遵循的规则是签入配置文件(
SolrConfig.xml
Stopwords.txt
dataconfig.xml
等)

IMHO,有理由不在源代码管理中签入整个Solr目录:

  • Solr目录包含索引数据和配置。签入索引是个坏主意,因为
  • 回购的规模将会扩大
  • 您的索引不是数据源。在大多数情况下,它依赖外部源(如RDBMS)来刷新自身。当数据库与Solr索引不同步时,数据完整性面临巨大风险
  • 只有在“开发”框中,我们才将Solr和消费应用部署在同一台机器上,否则,设置Solr独立于应用程序部署。在SC中的Solr目录中签入意味着需要部署不必要的大型存储库

我们没有签入整个存储库,而是签入了配置文件和基本脚本来设置solr、创建索引、启动实例等。这样每个团队成员都可以签出代码库、运行两个构建任务并准备参与:)

我不会将索引添加到存储库中。我会使用core.properties中的dataDir选项将其放在其他地方。但是插件的jar和war文件呢?我真的很想把它们放在存储库中,但我担心这些文件会被锁定,git无法切换分支。罐子也很重!典型的solr安装可能超过80兆欧。正如你所说,分支也会让人头疼。您的担心在Git中可能导致的开销方面是有效的。如果让开发人员的设置变得简单是目标,我建议考虑可以做到这一点的脚本(chef/puppet/shell等)