【问题标题】:Isolated transactions and lucene queries隔离事务和 lucene 查询
【发布时间】:2015-11-09 08:38:06
【问题描述】:

我对 neo4j 几乎一无所知。在 Internet 上的某个地方,据说它可以利用 lucene(内部)进行全文搜索。而且,据我了解,neo4j 支持将多个并发独立(隔离)事务写入数据库。

考虑这些事务正在修改需要修改一个 lucene 索引的数据。现在,我的问题是:neo4j 如何以并发和隔离的方式管理这样做,因为再次 AFAIK,lucene 不支持并发隔离事务(而是支持单个事务)?

【问题讨论】:

    标签: neo4j lucene


    【解决方案1】:

    Neo4j 在 lucene 之上添加了一个事务层,使您的索引更新和读取与 Neo4j 事务状态保持同步。

    您可以在免费的 O'Reilly“图形数据库”一书中阅读更多关于内部结构的信息,您可以通过 http://graphdatabases.com 获得该书

    【讨论】:

    • 谢谢。我试图在与另一个数据库一起使用的 lucene 之上实现适当的事务管理,我的结论是这是不可能的,除非您完全避免发布您可能希望最终回滚的 solr 更改。如果你这样做了,你就不能实现两阶段提交,否则你就不能在 DB 和 solr 之间实现分布式事务,因此会出现 solr 与 DB 不同步的极端情况。现在让我们试着读那本书:)
    • 嗯,我刚刚把那本书扫描了一遍。根本没有提到 lucene(这个问题是 lucene 特有的)。当他们在那本书中谈到事务时,他们只将这个词应用于 Neo 自己的数据库,而不考虑 lucene 的索引。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2011-02-24
    • 2011-09-30
    • 2015-06-14
    • 1970-01-01
    • 2015-03-26
    相关资源
    最近更新 更多