【问题标题】:Multiple indexers on same storage location in LuceneLucene 中同一存储位置上的多个索引器
【发布时间】:2012-08-24 03:07:40
【问题描述】:

我想构建一个高度可扩展的应用程序,我打算使用 Lucene 作为我的搜索引擎库。在浏览文档和常见问题解答时,我意识到它只允许通过在索引目录中创建一些 write.lock 在存储位置打开一个索引编写器。我们可以在该索引上打开多个 IndexReader。

我有兴趣构建一个架构,其中有多个索引器在不同的机器/服务器上运行,并且多个搜索器回答对这些索引器创建的索引的各种类型的查询。搜索器和索引器都将在不同的计算机上运行。

在这种情况下,最好让多个索引器使用相同的索引存储位置来索引文档。如何做到这一点?我应该使用 NFS(网络文件系统)之类的东西吗? Solr 或其他基于 Lucene 的框架是否解决了这个问题?我想到的一个明显的解决方案是为每个索引器创建一个索引,然后要求搜索者跨多个索引目录进行查询。但是这些将导致创建大量不同的索引目录,与索引器服务器一样多,我认为这并不是很理想。我想要 (# of index dirs)

在这种情况下,我有哪些不同的选择?

【问题讨论】:

    标签: search solr lucene scalability elasticsearch


    【解决方案1】:

    首先:切勿将 NFS 与 Lucene 一起使用,它既慢又危险。

    如果涉及到可扩展性和高可用性,我建议您让 elasticsearch 为您完成所有繁重的工作,这样您就可以专注于您的数据。你当然可以有多个线程索引数据。

    如果您想进一步了解 elasticsearch 的分布式特性,建议您查看 this video

    【讨论】:

    • 感谢您的建议。我去看看。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多