【问题标题】:Is it possible to set up an Oak property index and avoid reindexing?是否可以设置 Oak 属性索引并避免重新索引?
【发布时间】:2018-03-10 12:35:17
【问题描述】:

即使我在索引上添加了reindex=false 属性,它仍然会在创建时触发重新索引。

【问题讨论】:

  • 要让索引回答您的查询,它需要重新索引现有数据。你的用例是什么?
  • @catholicon 我知道我要搜索的数据尚未创建。所以我不需要索引现有数据,并且在大型存储库上重新索引可能会非常昂贵

标签: indexing aem jackrabbit jackrabbit-oak


【解决方案1】:

您可以使用解决方法:按照您想要的方式设置索引定义,但保留type=disabled。让它保持几秒钟(基本上,让至少一个异步索引循环完成)。然后设置type=<your-index-type>。顺便说一句,在 Oak 1.6 之后,您还需要设置 refresh=true 以使 Oak 相信您希望将此更改(type 中的更改)存储在内部。

【讨论】:

    【解决方案2】:

    简短的回答是

    重新索引标志主要用于索引更新。创建新索引时,它由相应的处理器索引。对于同步(主要是非 lucene),索引几乎立即开始。

    对于异步索引(如 lucene),对存储库或索引的更改将在下次运行 AsyncIndexUpdate 作业时获取。

    重新索引标志将从头开始重新创建索引,因此建议您在修改现有索引时使用该标志。新索引总是从头开始创建,因为该索引没有先前的检查点(之前点),并且存储库中符合条件的所有内容都将被重新索引。

    更多信息可以在官方docs 中找到,特别是在reindex section 下。

    一旦存储了索引定义,就会自动构建新索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      相关资源
      最近更新 更多