【问题标题】:How to create field index using script in Marklogic如何在 Marklogic 中使用脚本创建字段索引
【发布时间】:2018-06-02 15:06:10
【问题描述】:

我对使用脚本创建字段索引很感兴趣。 看到了一个使用包含根创建字段索引的函数。 没有找到可以创建带有路径索引的字段的函数。

试过这个功能

admin:database-add-field-paths($config, $dbid, $field-name, $field-path)

显示“没有字段存在”错误。

对此有任何建议。

【问题讨论】:

    标签: marklogic marklogic-8


    【解决方案1】:

    我想你正在寻找admin:database-path-field。可以使用admin:database-add-field 将其输出添加到管理配置中,大致如下:

    let $config := admin:get-configuration()
    let $dbid := xdmp:database()
    let $fieldspec := 
        let $field-name := "myField"
        let $field-paths := admin:database-field-path("/a/b", xs:double(2.0))
        return
            admin:database-path-field($field-name, $field-paths)
    
    let $newConfig := admin:database-add-field($config, $dbid, $fieldspec)
    

    也许还值得看看 Management REST api,它允许从外部部署配置,并且编程更少。您需要向:8002/manage/v2/databases/[id-or-name]/properties 发送一个 PUT 请求,其中包含以下内容作为有效负载的一部分:

    "field": [
        {
          "field-name": "status",
          "field-path": [
            {
              "path": "/pdbe:person-envelope/pdbm:person/pdbm:status",
              "weight": 1
            },
            {
              "path": "/pdbm:person/pdbm:status",
              "weight": 1
            }
          ],
          "field-value-searches": true
        }
    ]
    

    HTH!

    【讨论】:

      猜你喜欢
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 2019-03-20
      相关资源
      最近更新 更多