cts:near 查询不适用于特殊字符

cts:near query not working with special character

我有一个包含元素 <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*" 而不是拆分它们时,同样有效。

我认为在这种情况下您的距离(第 3 个参数)太小了。距离在 all 个子查询之间,所以当查找 4 个有序项时,需要距离为 3.

HTH!

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