如何在MarkLogic数据库中强制停止重新索引?

时间:2018-07-27 14:26:04

标签: marklogic marklogic-8

是否可以在MarkLogic数据库中强制停止正在进行的重新索引编制?如果是,该怎么办?

2 个答案:

答案 0 :(得分:4)

您可以禁用重新索引编制,但是值得考虑的是您要通过这样做解决什么问题。重新索引仅在更改索引设置时发生,并且大概在更改索引设置时,您希望新设置生效。如果您经常更改索引设置,并希望控制重新索引需要投入多少资源,则还可以进行限制。

要禁用重新编制索引,请查看此处:http://docs.marklogic.com/guide/admin/databases#id_28645

答案 1 :(得分:2)

禁用重新编制索引的方法:

  1. 使用管理界面,您可以disable reindexing

    • Databses -> select your content database
    • 在“配置”标签中,向下滚动到启用重新索引器,然后选择false
    • 滚动到页面顶部或底部,然后单击ok按钮
  2. 以编程方式,使用admin:database-set-reindexer-enable()函数:

    xquery version "1.0-ml";
    
    import module namespace admin = "http://marklogic.com/xdmp/admin"
          at "/MarkLogic/admin.xqy";
    
    let $config := admin:get-configuration()
    let $disabled-reindexer-config := admin:database-set-reindexer-enable($config,
        xdmp:database("myDatabase"), fn:false())
    (: returns the new configuration element -- use admin:save-configuration
       to save the changes to the configuration or pass the configuration
       to other Admin API functions to make other changes.  :)
    return
      admin:save-configuration( $disabled-reindexer-config )
    

除了禁用重新索引编制之外,您还可以通过管理界面或使用admin:database-set-reindexer-throttle()来调整油门级别,以最大程度地降低性能影响。

https://developer.marklogic.com/blog/mitigating-the-impact-of-re-indexing