我需要运行以下字符串通配符且不区分大小写的搜索
“过度表达 NEAR/1[有序] 预测*”
我正在使用
cts:parse("overexpression NEAR/1[ordered] predict*")
,生成的查询是:
cts:near-query((
cts:word-query("overexpression", ("lang=en"), 1),
cts:word-query("predict*", ("lang=en"), 1)
), 1, ("ordered"), 1)
那么如何启用通配符搜索呢?我的意思是要形成的查询应该是:
cts:near-query((
cts:word-query("overexpression", ("wildcarded","case-insensitive","lang=en"), 1),
cts:word-query("predict*", (""wildcarded","case-insensitive","lang=en"), 1)
), 1, ("ordered"), 1)
我怎样才能实现这个目标?
当未显式设置
wildcarded
和 unwildcarded
选项时,通配符(*
或 ?
)的存在与否将决定查询是否为通配符。
类似地,对于
case-sensitive
和 case-insensitive
- 如果查询值是小写,那么它将是 case-insensitive
。如果是大写或混合大小写,那么它将是 case-sensitive
,除非您显式覆盖并设置大小写选项。
因此,
cts:word-query("predict*", ("lang=en"), 1)
相当于cts:word-query("predict*", (""wildcarded","case-insensitive","lang=en"), 1)
,为“过度表达”查询指定“通配符”实际上没有意义,因为没有通配符。