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

Xquery cts:近查询不使用特殊字符,xquery,marklogic,Xquery,Marklogic,我有一份文件,内容为42 case§100 我正在使用一个近似查询进行搜索,因为我的要求是使用它。当我使用下面的查询时,这不起作用 cts:search( //word, cts:near-query( ( cts:word-query("42", ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 1), cts:word-query("c

我有一份文件,内容为
42 case§100

我正在使用一个近似查询进行搜索,因为我的要求是使用它。当我使用下面的查询时,这不起作用

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*”
而不是将它们分开时,同样的方法也适用。

在这种情况下,我认为您的距离(第三个参数)太小。距离是所有子查询之间的距离,因此在查找4个有序术语时,需要3个距离


§是不包含在单词索引中的标点符号。您可以通过使用自定义标记化覆盖来更改这一点。有关详细信息,请参阅。

更改距离无效。我把它用于其他值而不是§Doh,我必须查找$而不是§。我可能弄错了,但我认为距离在这里也应该是相关的。您是否启用了位置?否则,在未筛选的情况下运行时,near query的行为类似于and query。