cts:近查询不使用特殊字符

时间:2016-01-26 16:53:39

标签: xquery marklogic

我有一个包含元素<word>42 case § 100</word>

的文档

我正在使用近乎查询来搜索这个,因为我的要求是使用它。当我使用以下查询

时,这不起作用
cts:search(
  //word,
  cts:near-query(
    (
      cts:word-query("42",   ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 1),
      cts:word-query("case", ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 1),
      cts:word-query("§",    ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 1),
      cts:word-query("1*",   ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 1)
    ),
    2,
    ("ordered"),
    1
  )
)

当我一起使用"§ 1*"而不是拆分它们时,同样有效。

2 个答案:

答案 0 :(得分:3)

§是标点符号,不包括在单词索引中。您可以使用自定义标记化覆盖来更改此设置。有关详细信息,请参阅Search Developer's Guide

答案 1 :(得分:0)

在这种情况下,我认为你的距离(第三个参数)太小了。距离在所有子查询之间,因此在查找4个有序项时,距离必须为3。

HTH!