默认代码段找不到所有匹配项

时间:2017-05-12 19:56:30

标签: marklogic

我在marklogic中使用默认片段而不是修改选项中的变换结果时会有不同的结果。问题是我不知道片段正在做什么来返回不同的结果。当我使用默认设置时,它不会返回所有匹配项。在刚刚增加所有默认数字后,我终于收到了文档中所有匹配的节点。我只在一个文档上进行此搜索。以下是我的选择:

  <options xmlns="http://marklogic.com/appservices/search">
    <additional-query>
      <cts:document-query depth="infinity" xmlns:cts="http://marklogic.com/cts">
        <cts:uri>{$uri}</cts:uri>
      </cts:document-query>
    </additional-query>
    <transform-results apply="snippet">
      <max-matches>100</max-matches>
      <max-snippet-chars>200000000000</max-snippet-chars>
    </transform-results>
    <search-option>filtered</search-option>
  </options>

max-snippet-chars究竟做了什么?这个最大字符数量是否适用于所有代码段匹配的总数?如果我希望文档中的所有匹配都出现而不管字符限制怎么办?

1 个答案:

答案 0 :(得分:2)

max-snippet-chars设置是每个匹配的最大上下文字符数。

per-match-tokens设置是每场比赛的最大单词数和非单词数(不包括空格数)。

max-matches设置是每个代码段的最大匹配数。

更多信息,请参阅:

http://docs.marklogic.com/guide/search-dev/query-options#id_36346

您可以随时编写自己的片段例程,使用cts:highlight()函数突出显示所有匹配项。请参阅:

http://docs.marklogic.com/guide/search-dev/query-options#id_61707

希望有帮助,