本文介绍了文档检索系统的概念,以及搭建文档检索系统的流程。
概念
文档检索系统是一种用于快速准确地检索和获取文档信息的技术。它基于文档的内容和结构,通过计算机自然语言处理和信息检索的技术,将文档转化为可检索的形式,并根据用户的查询需求来匹配和排序相关的文档。
文档检索系统的应用场景非常广泛。诸如:
在企业和组织中,用于管理和检索大量的文档和知识资料,方便员工快速获取所需的信息。
在学术研究领域,用于检索和获取相关的学术文献,帮助研究人员快速了解和掌握最新的研究成果。
在新闻和媒体领域,用于检索和获取相关的新闻报道,以便及时了解和分析重要的新闻事件。
此外,文档检索系统还可以应用于法律和医学领域,用于检索和获取相关的法律文书和医学文献。
搭建流程
创建文档数据表
创建文档数据表的SQL语句如下:
CREATE TABLE enterprise_context(
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
content text DEFAULT NULL COMMENT '内容',
PRIMARY KEY (id)
) ENGINE=InnoDB COMMENT='文本数据';
插入文档数据
插入文档数据的SQL语句如下:
INSERT INTO enterprise_context(id,content) VALUES
(1,'中科软科技股份有限公司(英文:Sinosoft Company Limited,上市公司,证券简称:中科软,证券代码:603927 )是中国科学院软件所实施知识创新试点工程的产物,是研究所技术研究及开发主体转制的结果。中科软科技股份有限公司总部设在北京,注册资金59360万元,是专门从事计算机软件研发、应用、服务的智能密集型高新技术企业。'),
(2,'中科软科技以大型应用软件开发和计算机系统集成为核心,集自主开发的行业通用软件产品、网络信息安全软件产品、大型网络应用软件组合平台、中间件软件产品及应用工具于一体,涵盖了系统软件、支撑软件、建筑智能化工程、行业应用软件等各个层次,并可为大型应用系统工程提供全方位支持。')
创建文档向量表
创建文档向量表的SQL语句如下:
/*polar4ai*/CREATE TABLE vector_table(
id bigint,
content text,
content_vector vector_768,
primary key(id)
);
文档数据向量化
您可以根据实际使用场景,选择将文档数据离线向量化或在线向量化。
将文档数据离线向量化的SQL语句如下:
/*polar4ai*/select id, content from predict(model _polar4ai_text2vec, select id,content from enterprise_context) with ( x_cols='content', primary_key='id', mode='async', vec_col='content_vector' ) into vector_table;
其中,
_polar4ai_text2vec
为文本转向量化模型,目前仅支持输出768维向量。with()
中的参数说明如下:参数
说明
示例值
primary_key
向量表的主键。
id
x_cols
用于存储文本的字段。
content
mode
文档数据的写入模式。目前仅支持async(异步)模式。
async
vec_col
向量表中存储向量的字段。
content_vector
将文档数据在线向量化的SQL语句如下:
/*polar4ai*/SELECT * FROM predict(model _polar4ai_text2vec, SELECT '中科软证券代码是多少') with();
进行向量检索
进行向量检索的SQL语句如下:
/*polar4ai*/SELECT id,'distance(content_vector,[1,2,3,4,5……,768])' FROM vector_table LIMIT 10;
文档内容是否对您有帮助?