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。
我有一个包含元素 <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。