欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

达梦数据库全文索引使用示例

程序员文章站 2022-06-02 20:13:25
...

达梦数据库全文索引使用示例

全文检索技术主要功能是实现对大数据量非结构化数据的快速匹配查找。DM数据库具有全文检索功能,根据词库可以建立全文索引,大大减少检索时间。使用上主要包括全文索引建立、更新、利用全文索引进行检索、以及索引的删除。
1. 创建全文索引
首先建立一个示例表,表名为famous_novles,以四大名著为例,建立序号、书名、作者、年代和内容四项信息。

create table famous_novles
(id int primary key,
book_name varchar(100),
author varchar(40),
decade varchar(40),
content text
);

利用manager工具将小说文本插入表中,为famous_novles表建立全文索引:

CREATE CONTEXT INDEX cti_novles ON famous_novles (content) LEXER DEFAULT_LEXER;

2.更新全文索引
数据插入表后,并不会将数据更新到相关的辅助表中,需要用户主动执行同步数据用以更新全文索引,否则无法通过全文索引查询到结果。

ALTER CONTEXT INDEX cti_novles ON famous_novles REBUILD;

3.利用全文索引进行数据检索
全文检索支持的检索方式有:
(1)在 CONTAINS 谓词内支持 AND、OR 和 AND NOT 的短语查询组合条件,例如:SELECT * FROM famous_novles WHERE CONTAINS(content, '刘备' AND '汉中');
达梦数据库全文索引使用示例

(2)全文检索支持单词或者句子的检索, 例如:SELECT * FROM famous_novles WHERE CONTAINS(content, '花果山');
达梦数据库全文索引使用示例

(3)检索条件子句可以和其他子句共同组成 WHERE 的检索条件,例如: SELECT * FROM famous_novles WHERE CONTAINS(content, '刘姥姥') AND author LIKE '%高鄂%';

达梦数据库全文索引使用示例

4.删除全文索引

DROP CONTEXT INDEX cti_novles ON famous_novles。