缺省情况下,查询结果的最大数量为 1024。可以使用 max_clause_count 索引参数来调整查询结果的最大数量。
如果查询结果数超过 1024 个,您会收到以下错误:
(BTSB0) - bts clucene error: Too Many Clauses
此错误在通配符搜索或模糊搜索中最常见。包含通配符搜索或模糊搜索的 Basic Text Search 查询将在内部重写为一系列用布尔运算符 OR 连接的匹配词搜索。如果匹配词超过 1024 个,查询将失败,并显示此错误。1024 个结果的限制可控制虚拟内存使用情况。
您可以通过在将 max_clause_count 索引参数设置为大于 1024 的值的情况下重新创建 bts 索引,增大查询结果的最大数量。具有大结果集的查询可能会降低性能,并分配额外的虚拟段。您可以使用 onstat -g seg 命令监视虚拟段数。
以下语句创建查询结果最大数量为 4000 个的 bts 索引:
CREATE INDEX bts_idx ON bts_tab(text bts_char_ops) USING bts (max_clause_count="4000") IN sbspace1;