如何在GridDB中使用SQL执行全文搜索?请指导正确语法
GridDB 全文搜索实现方法
1. 先创建全文索引
GridDB 必须先为目标列创建全文索引,才能使用全文搜索功能,否则直接执行 CONTAINS 查询会报错。执行以下SQL创建索引:
CREATE FULLTEXT INDEX idx_description ON my_container (description);
- 仅支持为STRING类型的列创建索引,且容器需为集合容器(Collection Container),时间序列容器不支持全文索引。
2. 执行全文搜索查询
你提供的SQL语法本身是有效的,只要索引创建完成,就能直接运行:
SELECT * FROM my_container WHERE CONTAINS(description, 'keyword');
扩展搜索语法
支持更灵活的搜索逻辑:
- 同时包含多个关键词(默认逻辑为AND):
SELECT * FROM my_container WHERE CONTAINS(description, 'keyword1 keyword2'); - 包含任意一个关键词(OR逻辑):
SELECT * FROM my_container WHERE CONTAINS(description, 'keyword1 OR keyword2'); - 包含指定关键词且排除另一个:
SELECT * FROM my_container WHERE CONTAINS(description, 'keyword1 -keyword2');
注意事项
- 如果需要修改索引,需先删除旧索引再重建:
DROP INDEX idx_description ON my_container; - 默认关键词最小长度为2个字符,调整该配置会影响查询性能,需谨慎操作。
内容的提问来源于stack exchange,提问作者SimoIT
相关产品推荐
相关产品推荐

