标签: marklogic

MarkLogic 8 - SVC-EXTIME 超出时间限制错误

我在我们的 中处理了 40 多万条TEST database记录,从集合中删除了坏记录。在几个小时的过程中,这一切都在一次射击中完成。

输入的数据PROD是相同的,但是当我尝试运行相同的作业时,它超时给我错误SVC-EXTIME Time Limit Exceeded

可能导致这种情况发生的适用超时设置是什么?

xquery marklogic

1
推荐指数
1
解决办法
1005
查看次数

如何使用 cts:triple-range-query() 返回一组 MarkLogic URI?

我有一个内容存储库,其中最新版本的文档使用 IsLatestVersion 三元组。

这是带有 isLatestVersion 三元组的文档示例。

 Document URI: /Transaction/00000000000101000000/1.xml

 <aptp:Transaction xmlns:aptp="http://sample.com/aptp">
   <aptp:TransactionDate>2016-07-28</aptp:TransactionDate>
   <aptp:TransactionType>Principal</aptp:TransactionType>
   <aptp:Operation>Buy</aptp:Operation>
   <sem:triple name="isLatestVersion"
               xmlns:aptp="http://sample.com/aptp"
               xmlns:sem="http://marklogic.com/semantics">
     <sem:subject datatype="http://www.w3.org/2001/XMLSchema#string">
         /Transaction/00000000000101000000/1.xml
     </sem:subject>
     <sem:predicate>isLatestVersion</sem:predicate>
     <sem:object datatype="http://www.w3.org/2001/XMLSchema#boolean">true</sem:object>
   </sem:triple>
 </aptp:Transaction>
Run Code Online (Sandbox Code Playgroud)

我希望以下代码片段返回最新版本 uri 的序列。它当前返回一个空集。

import module namespace sem = "http://marklogic.com/semantics" at "/MarkLogic/semantics.xqy";

let $uris :=
  (
    "/Transaction/00000000000101000000/1.xml",
    "/Transaction/00000000000101000001/1.xml",
    "/Transaction/111111/1.xml"
  )

let $query := cts:triple-range-query($uris, "isLatestVersion", fn:true())

return
  cts:uris("", (), $query)
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西吗?

marklogic triplestore marklogic-8

1
推荐指数
1
解决办法
215
查看次数

MarkLogic TDE XPATH 不适用于重复组

我正在使用 ML 9.0 版并开始使用 TDE(模板驱动提取)。我有很多 XML 文件(每个 50 kb 的 3500 个 xml 文件)并将它们成功加载到 ML。我成功创建了一些基本模板(TDE)。但是当我到达同一元素组的重复组时,视图返回一个空结果。唯一的方法是将上下文设置在我不想要的较低级别,因为我无法从更高的节点中选择元素。

下面的 XML 定义显示了 XML 文件的示例:

<scope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <item>
        <transaction>
            <type>CI</type>
            <sscc>00000379471900000025</sscc>
            <location>4260210630688</location>
            <device>VISTALINK.004</device>
            <date>2017-04-25</date>
            <time>02:15:33</time>
            <gmtOffset>+02:00</gmtOffset>
            <actorId>155081</actorId>
        </transaction>
        <order>
            <orderNumber>3794719</orderNumber>
        </order>
        <load>
            <rti>
                <ean>8714548186004</ean>
                <grai>8003087145481860040019877322</grai>
                <column>2</column>
                <size>
                    <width>1900</width>
                    <height>95</height>
                    <depth>0</depth>
                </size>
                <position>
                    <x>2062,48707520218</x>
                    <y>2015,24337520512</y>
                    <z>0</z>
                </position>
            </rti>
            <rti>
                <ean>8714548106002</ean>
                <grai>8003087145481060020016434653</grai>
                <column>0</column>
                <size>
                    <width>1900</width>
                    <height>95</height>
                    <depth>0</depth>
                </size>
                <position/>
            </rti>
            <rti>
                <ean>8714548186004</ean>
                <grai>8003087145481860040012803719</grai>
                <column>2</column>
                <size>
                    <width>1900</width>
                    <height>95</height>
                    <depth>0</depth>
                </size>
                <position>
                    <x>2064,20629390666</x>
                    <y>2124,57539157396</y>
                    <z>0</z>
                </position>
            </rti>
            <rti>...</rti> …
Run Code Online (Sandbox Code Playgroud)

xml xpath marklogic

1
推荐指数
1
解决办法
320
查看次数

如何从XML获取所有属性名称,而不是特定节点的值?

假设我有一个XML-

<SearchPage ID="123" version="1.3" xmlns="http://some/path">
   .....some child elements
</SearchPage>  
Run Code Online (Sandbox Code Playgroud)

如何从中获取所有属性名称?

xml xpath xquery marklogic

1
推荐指数
1
解决办法
346
查看次数

Marklogic 值词典和词词典

根据文档:值词典是通过配置范围索引创建的。可以为整个数据库或特定元素或属性创建 Word 词典。

这是否意味着创建单词词典不需要范围索引?范围索引在创建唯一的单词/值列表中起什么作用?

marklogic lexicon

1
推荐指数
1
解决办法
116
查看次数

Marklogic Optic API

我一直在测试将我们的一个系统迁移到Marklogic 9并使用Optics API.

我们的一个功能涉及通过member_id,member_name对索赔进行分组并获取总和和计数,所以我做了类似这样的事情:

var results = op.fromView('test', 'claims')
  .groupBy(['member_id', 'member_name'], [
         op.count('num_claims', 'claim_no'),
         op.sum('total_amount', 'claim_amount')
         ])
  .orderBy(op.desc('total_amount'))
  .limit(200)
  .result()
  .toArray();
Run Code Online (Sandbox Code Playgroud)

以上工作正常.结果是形式的

[
  { 
    member_id: 1, 
    member_name: 'Bob', 
    num_claims: 10, 
    total_amount: 500
  }, 
  ...
]
Run Code Online (Sandbox Code Playgroud)

但是,我们还有一个"公司"字段,每个索赔都是在另一家公司下提交的.基本上,相关的视图列是claim_no,member_id,member_name,company,claim_amount

我希望能够显示一个列,其中列出了member_id/member_name已提交索赔的不同公司,以及每个公司的索赔数量.

即我希望我的结果如下:

[
  { 
    member_id: 1, 
    member_name: 'Bob', 
    num_claims: 10, 
    total_amount: 500,
    companies: [
      {
        company: 'Ajax Co',
        num_claims: 8
      },
      {
        company: 'Side Gig',
        num_claims: 2
      }
    ]
  }, 
  ...
]
Run Code Online (Sandbox Code Playgroud)

我试过这样的事情:

results = results.map((member, index, array) => {
  var companies = op.fromView('test', …
Run Code Online (Sandbox Code Playgroud)

marklogic marklogic-9

1
推荐指数
1
解决办法
201
查看次数

Marklogic - 如何在XQuery中删除新的行char问题

如何删除新行字符.

Sample Code.

    let $b := <root><title>Fees • Levies<?brk type="line"?>
    Other file</title></root>
    return replace($b//title/text(),'\n','')

Expected Output :
Fees • Levies Other file
Run Code Online (Sandbox Code Playgroud)

xquery marklogic

1
推荐指数
1
解决办法
427
查看次数

为什么同一个URI上有2个文档?

我想知道为什么会这样.我可以知道所有情况可能会导致这种情况吗?

marklogic marklogic-8

1
推荐指数
1
解决办法
77
查看次数

Marklogic:元素值查询与路径范围查询

我正在做一些锻炼以找出性能方面哪个更好,无论是元素值查询还是路径范围查询。

我发现使用路径范围查询的搜索比元素值查询慢一点。

即使加载了额外的路径范围索引,有没有人知道使用路径范围查询搜索的速度缓慢。

我使用了下面的代码。

    xdmp:document-delete("/aname4.xml")
    xdmp:document-insert("/aname1.xml",
      <name><fname>John</fname><mname>Rob</mname><lname>Goldings</lname></name>),
    xdmp:document-insert("/aname2.xml",
      <name><fname>Jim</fname><mname>Ken</mname><lname>Kurla</lname></name>),
    xdmp:document-insert("/aname3.xml",
      <name><fname>Ooi</fname><mname>Ben</mname><lname>Fu</lname></name>),
    xdmp:document-insert("/aname4.xml",
      <name><fname>James</fname><mname>Rick</mname><lname>Tod</lname></name>)

    create path range index "/name/fname"

    checked response time with following search code

    cts:search(doc(),cts:path-range-query("/name/fname","=","Jim"),"filtered")

    cts:search(doc(),
      cts:element-value-query(xs:QName("fname"),"jim"),
    "filtered")
Run Code Online (Sandbox Code Playgroud)

在使用路径范围查询时,我应该考虑哪些特定的事情

任何建议都将受到高度赞赏,因为它有助于我们设计高效的搜索代码。

marklogic marklogic-8 marklogic-9

1
推荐指数
1
解决办法
134
查看次数

我们如何在 MarkLogic 中获取森林数据目录

我正在尝试获取 MarkLogic 中的森林数据目录。我使用以下方法获取数据目录...使用服务器评估调用接口以管理员身份运行查询。如果没有,请告诉我如何获取森林数据目录

ServerEvaluationCall forestDataDirCall = client.newServerEval()

  .xquery("admin:forest-get-data-directory(admin:get-configuration(), admin:forest-get-id(admin:get-configuration(), \"" + forestName +"\"))");

for (EvalResult forestDataDirResult : forestDataDirCall.eval()) {
  String forestDataDir = null;
  forestDataDir = forestDataDirResult.getString();
  System.out.println("forestDataDir is " + forestDataDir);
}
Run Code Online (Sandbox Code Playgroud)

java rest xquery marklogic marklogic-9

1
推荐指数
1
解决办法
74
查看次数

标签 统计

marklogic ×10

xquery ×4

marklogic-8 ×3

marklogic-9 ×3

xml ×2

xpath ×2

java ×1

lexicon ×1

rest ×1

triplestore ×1