首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MarkLogic中使用通配符时协调速度慢

在MarkLogic中使用通配符时协调速度慢
EN

Stack Overflow用户
提问于 2018-10-03 03:41:24
回答 1查看 57关注 0票数 0

我正在协调MarkLogic中的文档,这些文档在26分钟的中完成,而不执行通配符代码片段(注释掉)。当我执行下面的代码时,协调时间将在更长的时间内完成,即1小时和50分钟

这段代码片段是我翻译以下SQL代码的尝试:

代码语言:javascript
复制
DECLARE @GETPRODLOSS decimal(18,2)
IF @ASSETNUMBER = NULL
    SET @GETPRODLOSS = NULL
ELSE
    SELECT @GETPRODLOSS = CONVERT(decimal(18,2), SUM(GLU/100)) 
        FROM AccountLedgerTable 
        WHERE GLDCT = 'MU' AND 
        GLSBLT = 'W' AND 
        LTRIM(SUBSTRING(GLASID,2,25)) LIKE concat('%',@assetNumber) AND 
        GLSBL LIKE concat('%',@workOrder) 
        GROUP BY GLANI
    RETURN(@GETPRODLOSS)
END

我不知道为什么要花那么长时间才能执行。下面是MarkLogic中相应的javascript代码片段:

代码语言:javascript
复制
function getAffectedProduction(assetNumber, workOrder) {
  let accountLedger =  cts.search(cts.andQuery([
     cts.collectionQuery("JDEdwards"),
     cts.collectionQuery("JDEAccountLedger"),
     cts.elementWordQuery(fn.QName("http://www.example.com/ads/JDEdwards/document","GLDCT"), "MU"),
     cts.elementWordQuery(fn.QName("http://www.example.com/ads/JDEdwards/document","GLSBLT"), 'W'),
     cts.elementWordQuery(fn.QName("http://www.example.com/ads/JDEdwards/document","GLASID"), fn.concat("*", assetNumber), "wildcarded"),
     cts.elementWordQuery(fn.QName("http://www.example.com/ads/JDEdwards/document","GLSBL"), fn.concat("*", workOrder), "wildcarded")
   ]))


   let affectedProduction = new Number();

   if(fn.count(accountLedger) <= 0) return "";

   affectedProduction = 0;

   let docXML = new String();
   for (const item of accountLedger) {
    
     affectedProduction += fn.number(`${fn.normalizeSpace(hl.elementText(item, "GLU"))}`);

   }

   return fn.string(fn.abs(affectedProduction/100));

 }

注意:我已经为元素GLDCTGLSBLTGLASIDGLSBL设置了元素范围索引。

我的密码有什么问题吗?或者在使用通配符时需要打开管理界面设置?

EN

回答 1

Stack Overflow用户

发布于 2018-10-03 06:06:49

看看MarkLogic的建议的通配符索引设置。我还会将您的cts.search调用设置为在您遵循建议之后作为未过滤的方式运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52619366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档