【问题标题】:Can I store Lucene Search Index‎ in Amazon elastic file system (EFS) as an alternative to a system directory我可以将 Lucene Search Index 存储在 Amazon 弹性文件系统 (EFS) 中作为系统目录的替代方案吗
【发布时间】:2018-06-25 22:27:49
【问题描述】:

我想知道是否可以将 Lucene 搜索索引存储在 Amazon 弹性文件系统 (EFS) 中,以替代系统目录提供程序(例如 java 中用于休眠搜索的目录提供程序,即 hibernate.search.default.indexBase。 如果是这样,实现这一点的最佳方法是什么。先谢谢了?

【问题讨论】:

  • 你试过了吗? EFS 上的文件的行为类似于...文件。这是一个文件系统。
  • 我正在构建一个托管在 aws 弹性 bean 堆栈上的分布式系统。现在我正在实现在本地运行良好的休眠搜索。我想知道如何以一种适用于云中分布式环境的方式存储搜索索引,当然除了使用 infinispan 之外。 Amazon EFS 数据分布在多个可用区中,提供了高水平的持久性和可用性,这给我留下了深刻的印象。但我想确定我在做什么。我担心速度和相关协议。
  • 对于分布式系统,请考虑以下几点 - 更新索引的数据源或触发器/事件在哪里?如果每个区域中都有数据源(同步),那么一种策略是在多个区域中拥有一对一的关联索引存储(索引搜索实例)。然后 DNS 可以处理其余的事情。或者,如果有一个全局数据源,则必须考虑索引更新的并发性,在这种情况下,请查看 ElasticSearch 的分布式设置。可以用 Lucene 完成,但是非常复杂,ES 已经解决了。

标签: hibernate amazon-web-services spring-mvc infinispan amazon-efs


【解决方案1】:

到目前为止,在 NFS 上运行的 Apache Lucene 存在搜索和索引性能下降的问题。由于 EFS 支持 NFS。在 AWS NFS 上存储 Lucene 搜索索引很可能会导致 Linux 锁定并默认提供大量错误消息。根据经验,从长远来看,EFS 是基于 NFS 的,将它与 lucene 一起使用并不好(至少到目前为止)。

【讨论】:

  • “到目前为止,在搜索和索引性能下降方面一直存在问题...... NFS” - 我希望对此答案进行编辑,这样人们就不必猜测所说的内容.我认为它应该说,“到目前为止,使用... NFS 的搜索和索引性能下降存在问题。” [如果这是真的,JIRA 问题是什么? Lucene 文档没有提到 NFS 是一个问题。事实上,IndexWriter 似乎有一个支持 NFS 的功能,所以我很困惑为什么会提出这种说法。另外,您的体验真的是 NFS 还是 EFS?]
【解决方案2】:

已经建立了一些大型 Hibernate / Lucene 索引 - 主要问题实际上是文件锁定。性能是一回事,其中许多公司 NFS 场都是通用存储,没有调整为全文搜索的后备存储(暗示“亚秒级”或接近预期响应时间)。

实际发生的情况是,对于作为用例的可更新索引,要更新索引,有问题的文件(以及构成索引的许多文件)必须在系统范围内独占锁定。

NFS 长期以来一直存在锁定问题(过去在“C”中为它们编程)与 NFS“锁定守护程序”和相关模型,其中进程挂起、停止、必须重新启动等.

【讨论】:

  • 虽然这回答了“是否存在问题(NFS 存储索引)?”的问题。 ... 可能更有用的是替代解决方案:我刚刚为在 AWS S3 中存储文件的实验室提供了全文搜索服务。最终使用旧的 Compass 项目在 RDS 数据库上构建索引,该项目(至少对于 Java)使其成为索引的后备存储。可更新。作为底层事务管理器解决的锁定问题是一个 RI 数据库(Aurora - 基于 MySQL),其中记录是索引 BLOB。
猜你喜欢
  • 2017-11-30
  • 2012-07-03
  • 2021-08-29
  • 2022-08-20
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多