当前位置: 首页 > news >正文

iBizModel 全文检索体系(PSSYSSEARCHSCHEME)模型详解

iBizModel全文检索模型体系详解

全文检索是现代企业信息系统中的核心功能之一,它支持高效、灵活的文本搜索和数据查询。iBizModel作为全面的模型体系,提供了完整的全文检索模型体系,涵盖了从检索体系定义到具体文档、属性和实体映射的全流程。本文将详细介绍iBizModel全文检索模型体系的应用场景、模型管理图例和建模DSL,帮助您深入理解并应用这一强大功能。

一、全文检索模型体系概述

iBizModel全文检索模型体系是一个层次化的模型结构,以PSSYSSEARCHSCHEME(全文检索体系)为根节点,向下延伸出PSSYSSEARCHDOC(全文检索文档)、PSSYSSEARCHFIELD(全文检索属性)、PSSYSSEARCHDE(全文检索实体)和PSSYSSEARCHDEFIELD(全文检索实体属性)等核心模型。这一体系支持多种搜索引擎类型,包括ElasticSearch、Solr和用户自定义引擎,提供了灵活的配置选项和强大的扩展能力。

全文检索体系的核心价值在于将业务数据与搜索能力深度融合,通过标准化的模型定义,实现数据的自动索引、高效检索和智能分析。体系支持文档分片、副本配置、属性数据类型定义、分析器配置等高级功能,能够满足从简单文档搜索到复杂数据分析的各种业务需求。

二、应用场景分析

1. 企业文档管理系统

在企业文档管理场景中,全文检索体系可用于构建智能文档搜索平台。例如,合同文档管理系统可以通过PSSYSSEARCHSCHEME定义合同搜索体系,使用PSSYSSEARCHDOC创建合同文档索引,通过PSSYSSEARCHFIELD定义标题、签署日期、合同金额等搜索属性。用户可以通过关键词快速定位相关合同,支持按日期范围、金额区间等条件进行高级筛选。

具体实现中,合同实体(PSDATAENTITY)通过PSSYSSEARCHDE与检索文档建立映射关系,确保合同数据的实时同步和索引更新。这种架构支持高并发访问,能够处理海量文档数据,同时保证搜索响应速度和结果准确性。

2. 知识库和内容管理系统

对于知识库和内容管理场景,全文检索体系支持文档内容的全文本索引和智能检索。通过PSSYSSEARCHDOC定义知识文档,配置多语言分析器,支持中英文混合内容的准确搜索。文档属性可以包括标题、摘要、正文内容、标签、作者、创建时间等,满足多维度的搜索需求。

在此场景中,PSSYSSEARCHDE的threadrunmode属性可以设置为线程执行模式,确保大量文档的索引更新不会阻塞主业务流程。同时,通过配置适当的shards和replicas参数,实现搜索系统的高可用和水平扩展。

三、模型管理图例

以下是iBizModel全文检索模型体系的层次结构和关系图,使用Mermaid语法表示:

包含
包含
包含
包含
引用
引用
引用
PSSYSSEARCHSCHEME
+String codename
+String name
+String searchenginetype
+Integer docshards
+Integer docreplicas
+String objnamecase
+contains→ PSSYSSEARCHDOC
+contains→ PSSYSSEARCHDE
PSSYSSEARCHDOC
+String codename
+String name
+String logicname
+Integer replicas
+Integer shards
+Integer defaultmode
+contains→ PSSYSSEARCHFIELD
PSSYSSEARCHFIELD
+String codename
+String name
+String logicname
+String fieldtype
+Integer indexflag
+Integer storeflag
+String analyzer
+String searchanalyzer
+Integer stddatatype
PSSYSSEARCHDE
+String codename
+String name
+String psdeid
+Integer threadrunmode
+contains→ PSSYSSEARCHDEFIELD
PSSYSSEARCHDEFIELD
+String codename
+String name
+String psdefid
+String pssyssearchfieldid
+String defaultvaluetype
+String defaultvalue
PSDATAENTITY
+String codename
+String name
+String logicname
+Integer detype
PSDEFIELD
+String codename
+String name
+String logicname
+Integer deftype

该图清晰地展示了全文检索模型体系的层次结构:

  • PSSYSSEARCHSCHEME作为根模型,管理整个检索体系
  • PSSYSSEARCHDOC定义具体的检索文档,包含多个PSSYSSEARCHFIELD
  • PSSYSSEARCHDE建立业务实体与检索体系的桥梁,包含PSSYSSEARCHDEFIELD
  • PSSYSSEARCHDEFIELD将实体属性映射到检索属性,实现数据同步

四、建模DSL详解

1. PSSYSSEARCHSCHEME(全文检索体系)

PSSYSSEARCHSCHEME是全文检索体系的根模型,定义检索体系的基本配置和引擎类型。

pssyssearchscheme (codename: "EnterpriseSearch",          // 体系代码标识,在模块内唯一name: "企业搜索体系",                   // 体系名称searchenginetype: "ELASTICSEARCH",     // 搜索引擎类型docshards: 5,                         // 默认分片数docreplicas: 1,                       // 默认副本数objnamecase: "DEFAULT",               // 对象名称转换规则psmoduleid: "base"                    // 所属系统模块
){// 子模型定义...
}

关键属性说明:

  • searchenginetype:支持ELASTICSEARCH、SOLR、USER三种类型
  • docshardsdocreplicas:控制索引的分布和冗余,影响搜索性能和可靠性
  • objnamecase:数据库对象名称转换,支持DEFAULT、UCASE、LCASE

2. PSSYSSEARCHDOC(全文检索文档)

PSSYSSEARCHDOC定义具体的检索文档,包含文档级别的配置和属性集合。

pssyssearchdoc (codename: "ContractDocument",name: "CONTRACTDOCUMENT",logicname: "合同文档",replicas: 2,                          // 文档副本数shards: 3,                           // 文档分片数defaultmode: 1,                      // 是否默认文档pssyssearchschemeid: "base.EnterpriseSearch"
){pssyssearchfield (name: "TITLEFIELD",codename: "TitleField",logicname: "标题属性",fieldtype: "TEXT",                 // 属性数据类型indexflag: 1,                      // 是否索引storeflag: 1,                      // 是否存储analyzer: "ik_max_word",           // 索引分析器searchanalyzer: "ik_smart",        // 搜索分析器stddatatype: 25                    // 标准数据类型)pssyssearchfield (name: "SIGNDATEFIELD",codename: "SignDateField", logicname: "签署日期属性",fieldtype: "DATE",                 // 日期类型indexflag: 1,storeflag: 0,dateformat: "yyyy-MM-dd",          // 日期格式stddatatype: 5)
}

文档配置重点:

  • replicasshards:可覆盖体系默认配置,实现细粒度控制
  • defaultmode:标记为默认文档,在无指定文档时使用
  • 支持多种fieldtype:TEXT、INTEGER、DATE、FLOAT、BOOLEAN等

3. PSSYSSEARCHFIELD(全文检索属性)

PSSYSSEARCHFIELD定义文档的具体搜索属性,控制索引和搜索行为。

pssyssearchfield (name: "CONTENTFIELD",codename: "ContentField",logicname: "内容属性", fieldtype: "TEXT",indexflag: 1,storeflag: 1,analyzer: "ik_max_word",searchanalyzer: "ik_smart",fielddataflag: 0,                    // 是否启用属性数据模式pkey: 0,                            // 是否主键stddatatype: 25,pssyssearchdocid: "base.EnterpriseSearch.CONTRACTDOCUMENT"
)

属性类型详解:

  • 文本类型:配置分词器,支持中文智能分词
  • 数值类型:支持精确匹配和范围查询
  • 日期类型:支持日期格式化和时间范围查询
  • 地理位置类型:支持地理空间查询

4. PSSYSSEARCHDE(全文检索实体)

PSSYSSEARCHDE建立业务实体与检索文档的映射关系,实现数据同步。

pssyssearchde (codename: "ContractSearchEntity",name: "合同搜索实体", psdeid: "base.CONTRACT",             // 引用的业务实体threadrunmode: 1,                    // 线程运行模式pssyssearchdocid: "base.EnterpriseSearch.CONTRACTDOCUMENT",pssyssearchschemeid: "base.EnterpriseSearch"
){pssyssearchdefield (name: "TITLE",codename: "title",psdefid: "base.CONTRACT.TITLE",    // 实体属性引用pssyssearchfieldid: "base.EnterpriseSearch.CONTRACTDOCUMENT.TITLEFIELD",defaultvaluetype: "SESSION",       // 默认值类型defaultvalue: "userid"             // 默认值参数)
}

实体映射特性:

  • threadrunmode:支持线程执行,避免阻塞主业务
  • psdeid:引用具体的业务实体,建立数据关联
  • 支持实时数据同步和批量索引更新

5. PSSYSSEARCHDEFIELD(全文检索实体属性)

PSSYSSEARCHDEFIELD定义实体属性与检索属性的映射规则。

pssyssearchdefield (name: "SIGNDATE",codename: "signdate",psdefid: "base.CONTRACT.SIGNDATE",pssyssearchfieldid: "base.EnterpriseSearch.CONTRACTDOCUMENT.SIGNDATEFIELD",pssyssearchdeid: "base.EnterpriseSearch.ContractSearchEntity",defaultvaluetype: "CURTIME"          // 当前时间作为默认值
)

映射配置要点:

  • defaultvaluetype:支持多种默认值类型,包括SESSION、APPLICATION、UNIQUEID等
  • 支持属性值转换和格式化
  • 可配置多个属性映射到同一检索属性

五、完整DSL示例

以下是一个完整的企业合同搜索体系DSL示例:

pssyssearchscheme (codename: "ContractSearchScheme",name: "合同搜索体系",searchenginetype: "ELASTICSEARCH",docshards: 5,docreplicas: 1,objnamecase: "DEFAULT",psmoduleid: "base"
){pssyssearchdoc (name: "CONTRACTDOCUMENT",codename: "ContractDocument",logicname: "合同文档",replicas: 2,shards: 3,defaultmode: 1){pssyssearchfield (name: "TITLEFIELD",codename: "TitleField",logicname: "标题属性",fieldtype: "TEXT",indexflag: 1,storeflag: 1,analyzer: "ik_max_word",searchanalyzer: "ik_smart",stddatatype: 25)pssyssearchfield (name: "CONTENTFIELD",codename: "ContentField",logicname: "内容属性",fieldtype: "TEXT",indexflag: 1,storeflag: 1,analyzer: "ik_max_word",searchanalyzer: "ik_smart",stddatatype: 25)pssyssearchfield (name: "SIGNDATEFIELD",codename: "SignDateField",logicname: "签署日期属性",fieldtype: "DATE",indexflag: 1,storeflag: 0,dateformat: "yyyy-MM-dd",stddatatype: 5)pssyssearchfield (name: "AMOUNTFIELD",codename: "AmountField",logicname: "金额属性",fieldtype: "DOUBLE",indexflag: 1,storeflag: 1,stddatatype: 6)}pssyssearchde (codename: "ContractSearchEntity",name: "合同搜索实体",psdeid: "base.CONTRACT",threadrunmode: 1){pssyssearchdefield (name: "TITLE",codename: "title",psdefid: "base.CONTRACT.TITLE",pssyssearchfieldid: "base.ContractSearchScheme.CONTRACTDOCUMENT.TITLEFIELD",defaultvaluetype: "SESSION",defaultvalue: "userid")pssyssearchdefield (name: "CONTENT",codename: "content", psdefid: "base.CONTRACT.CONTENT",pssyssearchfieldid: "base.ContractSearchScheme.CONTRACTDOCUMENT.CONTENTFIELD")pssyssearchdefield (name: "SIGNDATE",codename: "signdate",psdefid: "base.CONTRACT.SIGNDATE",pssyssearchfieldid: "base.ContractSearchScheme.CONTRACTDOCUMENT.SIGNDATEFIELD",defaultvaluetype: "CURTIME")pssyssearchdefield (name: "AMOUNT",codename: "amount",psdefid: "base.CONTRACT.AMOUNT",pssyssearchfieldid: "base.ContractSearchScheme.CONTRACTDOCUMENT.AMOUNTFIELD")}
}

六、总结

iBizModel全文检索模型体系提供了一个完整、灵活且强大的搜索解决方案,通过层次化的模型设计和丰富的配置选项,能够满足各种复杂的业务搜索需求。从体系定义到具体属性映射,每个环节都经过精心设计,确保搜索功能的高效性、可靠性和可扩展性。

该体系的核心优势在于:

  1. 标准化建模:通过统一的模型规范,降低系统复杂度
  2. 灵活配置:支持多种搜索引擎和丰富的配置选项
  3. 性能优异:通过分片、副本等机制保障大规模数据下的搜索性能
  4. 易于扩展:模块化设计支持功能扩展和定制化开发
  5. 生态集成:与iBizModel其他模型体系无缝集成,形成完整的解决方案

在实际应用中,建议根据具体业务需求合理设计检索体系结构,优化配置参数,并建立完善的监控和维护机制,确保搜索系统的稳定运行和持续优化。通过充分利用iBizModel全文检索模型体系的能力,企业可以构建出高效、智能的搜索平台,显著提升业务处理效率和用户体验。

http://www.dtcms.com/a/460687.html

相关文章:

  • Django REST Framework `Request` 对象
  • 易班班级网站建设展示PPT公司网站建设怎么做
  • 易讯网站建设凤翔网站制作
  • 湘潭找工作网站如何将wordpress上传
  • 做企业网站注意些啥太原网络营销
  • Redis 缓存与数据库谁先更新?
  • 网站备案要营业执照原件吗怎么做一个小程序app
  • 网站里的横幅广告怎么做商城网站 html模板
  • 金坛网站开发河南瑞达建设工程有限公司网站
  • 临淄网站设计可以做网站的公司
  • 做视频网站程序多少钱网站 注册模块怎么做
  • 做电影网站需要告诉网络网络营销方式有哪几种有哪些
  • 免保证金入驻电商平台wordpress摘要seo
  • 最低价网站建设建设企业网站公司
  • 旅游网站开发的背景及意义怎么在手机上设计网站
  • 网站搜索引擎收录百度一下百度首页官网
  • 南京品牌网站设计网站权重是什么
  • 有没有免费注册域名的网站淄博网站建设
  • php英文商城网站建设株洲新区发布
  • 长丰县建设局网站郑州做网站推广电
  • 谷歌有做网站建设合肥网站专业制作
  • 网站建设合同 技术合同房产做网站吸引
  • 长沙有什么做试卷的网站企业营销型网站建设费用
  • 主视觉设计网站wordpress 招聘 插件
  • 南宁会制作网站的技术人员无锡城乡建设局网站
  • 商务网站建设与维护流程百度电脑网页版入口
  • 库尔勒网站建设哪家专业辽宁建设工程信息网直接发包代理机构流程
  • 公司网站建设需要哪些内容软件界面设计工具都有什么
  • 上海有哪几家做新房的网站内存做硬盘缓存软件网站
  • 网站建设玖金手指谷哥十济南网站优化排名推广