我在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究竟做了什么?这个最大字符数量是否适用于所有代码段匹配的总数?如果我希望文档中的所有匹配都出现而不管字符限制怎么办?
答案 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
希望有帮助,