您可以在对单个词语执行 Basic Text Search 查询时使用通配符。搜索短语时不能使用通配符。
要执行单字符通配符搜索,请在搜索词中使用问号 (?)。单字符通配符搜索将查找匹配替换的单个字符的词语。例如,要搜索词 text 和 test,请在搜索谓词中使用 te?t:
bts_contains(column, 'te?t')
可以将单字符通配符 (?) 用作搜索词中的第一个字符。
多字符通配符搜索将查找零个或多个字符。
bts_contains(column, 'geo*')
bts_contains(column, 'c*r')
但是不能将多字符通配符 (*) 用作搜索词的第一个字符。
如果与通配符查询匹配的索引标记数超过 1024,那么将会收到以下错误:
(BTSB0) - bts clucene error: Too Many Clauses
要解决此问题,您可以进一步限制查询,或者将 max_clause_count 索引参数设置为大于 1024 的数字并重新创建 bts 索引。