Lucene索引复制

时间:2017-06-20 08:28:56

标签: indexing lucene replication

在负载均衡的环境中,我有独立的Java线程(为了简单起见,主要是通过Spring引导jar,可以称之为Project 1),它读取一些元数据并更新某个位置的lucene索引。

然后有一个实际的Web应用程序(项目2),我想通过这些应用程序查询这些索引(另一个项目1已创建)但是索引文件,有哪些可用选项:

  1. 定期将索引文件复制到Web应用程序的lucene,这是不可能的,因为我们可能不得不重新启动我信任的应用程序。
  2. 在战争中将两个项目保持为一个包,因此两者都可以使用lucene的单个实例。
  3. 任何其他复制策略??
  4. 上述任何帮助都将受到高度赞赏。 最好, - Vaibhav

1 个答案:

答案 0 :(得分:1)

这实际上取决于您的应用程序的非功能性需求以及由它们驱动的任何给定的体系结构决策。

但是有些想法:

  • 将像folderA这样的索引复制到folderB听起来是个糟糕的主意。特别是如果两个应用程序都必须一直运行。

  • 您不希望这两个应用程序之间存在直接依赖关系,因此您必须构建自己的lucene组件,以提供所需的API功能。

  • 我建议使用适当的API构建组件。这个组件使用lucene作为库,在像多个系统或像使用这个组件的实例的情况下,我建议使用Lucene的一个不错的NRT(近实时)实现。