【问题标题】:MarkLogic - Create multiple field search codes at a time & search is not workingMarkLogic - 一次创建多个字段搜索代码 & 搜索不起作用
【发布时间】:2020-04-18 13:34:57
【问题描述】:

MarkLogic 9.0.8.2

在开发环境中,我们一个一个地创建了 5 个字段(Field1、Field2、Field3、Field4、Field5),即每个索引需要大约 20 小时才能找到 19M 条记录,并且搜索工作正常。

对于系统测试环境,我们以相同的顺序一次创建了 5 个字段,MarkLogic 花了大约 3 天时间完成对 19M 条记录的索引。

但随后搜索仅适用于 Field1 而不适用于其他人。我们尝试了所有方法,但没有任何结果,然后我们重新启动了所有 ML 服务器,它开始工作了。

对于 UAT 环境,我们首先创建了 Field2,然后是 Field1、Field3、Field4、Field5。所以在 UAT 中,Field2 开始工作而不是其他人,在我们重新启动后,它开始工作。

看起来,在 ML 完成索引后启用了第一个索引,但对于其他索引则没有,但不确定为什么需要重新启动。

字段索引

【问题讨论】:

  • 字段索引不需要一次创建一个。您可以同时创建所有 5 个,然后留出足够的时间让数据库重新索引并使字段可用。不需要重新启动。如果您在问题中发布有关这些字段索引的详细信息会很有帮助,但如果您有权访问 MarkLogic 支持,您可以打开一个支持案例来帮助解决您的问题。
  • 汉森您好,感谢您的回复。是的,我们一直等到 MarkLogic 状态页面显示“重新索引/重新分段状态:未重新索引/重新分段”,然后我们又等了 2 天(因为我们不确定它为什么不工作,所以可能是一些内部处理)。我已经为相关字段索引添加了屏幕截图。
  • 路径(您涂黑的)将是最相关的信息,并且对于所有索引(尤其是那些不工作的索引)都有这些信息会很有帮助。此外,发布代码和数据而不是屏幕截图(在 8002 状态页面上,有 JSON 或 XML 格式的链接,而不是默认的 HTML 呈现)。

标签: indexing field marklogic


【解决方案1】:

您没有提供索引的路径信息,因此很难分辨,但是通过 9.0-8.2 以来的Bug Fixed List,我看到了 中解决的重新索引错误9.0-11 这听起来与您所描述的相似。

重新索引器永远不会完成重新索引路径字段

如果路径字段包含不可搜索的谓词(例如位置约束),并且文档包含路径头部的元素(不可搜索的谓词之前)但不包含路径末尾的元素,则重新索引器将一遍又一遍地重新索引该文档。示例:路径:/root/branch/stem[1]/twig/leaf 文档:<root><branch><stem>No leaves!</stem></branch></root>

BUG-53212

在 9.0-11 中修复

我会尝试升级到 9.0-11,看看问题是否会消失,尤其是当您的路径字段索引包含谓词或无法搜索的表达式时。

【讨论】:

  • 感谢您的详细回复。不,我们没有任何索引包含谓词或不可搜索的表达式,这很简单,我会在原始问题中添加。为什么我说这不是问题,因为它不能在 DEV 和 ST 环境中工作,它在重新启动后工作。关于将它升级到 9.0.11,我会提出并会看到它何时发生
猜你喜欢
  • 1970-01-01
  • 2013-09-18
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多