如何在Mendix中实现全文检索

功能背景

在日常的应用使用过程中,存在大量希望使用全文检索技术的场景,对资料库中的内容进行查询。Mendix默认的结构化查询方式,适合对特定业务实体进行类似数据库单表的基于SQL语句的查询。那如何在Mendix实现全文检索的功能呢?

Mendix提供了Global Search模块(https://marketplace.mendix.com/link/component/115019)来帮助用户实现全文检索功能。本文将通过一个示例,来介绍如何在项目中使用和配置全文检索功能。

操作步骤

本文档基于Studio Pro 9/24.2中进行操作

  1. 创建一个新的项目
  1. 导入Community Commons组件

如遇到Studio Pro中Marketplace连接超时的问题,请可以直接访问网站下载,再手工导入项目工程

https://marketplace.mendix.com/link/component/170

确认组件被正常导入到工程

重复上述步骤,导入Global Search 组件

  1. 修复新模块后的一些页面格式错误。右键点击第一条错误信息

点击"Go to Content for placeholder Main"后,打开以下画面

双击左侧对应的项目条目,然后再右侧属性栏中,修改Layout选项,选择'Atlas_Default'

重复以上步骤,修复所有UI错误

所有UI Layout错误修复后,会看到Mendix Studio报属性需要刷新的错误提示。右键单击任意错误,点击"Update all renamed design properties in project",刷新属性信息

双击打开GlobalSearch->_USE_ME->5. Example Implementation->Pages->Actor_Select页面

在页面属性Layout-Type中,选择"Modal Pop-up"

打开GlobalSearch->_USE_ME->5. Example Implementation->Pages->Genre_Select页面,重复以上步骤。

保存项目修改后,所有问题得到修复。

  1. 创建一个新的业务实体。模拟一个客户投诉,实体属性如下:

通过Generalization,选择此业务实体集成SearchableObject

通过这一步的操作,Global Search启动后会自动为此业务事业进行索引创建和维护。

  1. 打开Settings->runtime配置页签,点击"After Startup"的"Select"按钮

选择Global Search->_USE_ME->0.After Startup->ASU_GlobalSearch

  1. 将Global Search->_USE_ME->1. Indexing下面,SUB_IndexObject 和 SUB_DeleteIndex两个Microflow复制到项目模块中
  1. 修改Global Search->_USE_ME->1. Indexing下面的连个Microflow ACO_SearchableObject 和 BDE_SearchableObject, 使用在上一步复制到项目模块的UB_IndexObject 和 SUB_DeleteIndex
  1. 右键MyFirstModule,创建新的MicoFlow

命名为SUB_Incident_Index

添加一个Input Parameter,类型为MyFirstModule.Incidents

依次使用一下Activity配置

完整的Microflow如下:

  1. 修改MyFirstModule->SUB_IndexObject,修改后MicroFlow如下
  1. 修改MyFirstModule->SUB_DeleteIndex,修改后截图如下
  1. 在MyFirstModule中创建一个新的页面,GlobalSearchPage

拖拽一个Snippet Call 控件到画布上,然后选择GlobalSearch->_USE_ME->5. Example Implementation->Snippets->SNIP_Search

双击打开GlobalSearch->_USE_ME->5. Example Implementation->Snippets->SNIP_Search,添加一个模板

  1. 将GlobalSearchPage设置为首页

13 创建测试页面录入测试数据

配置完成,接下来就是见证奇迹的时刻:

我们来做一个查询

测试成功!

以上就是如何在Mendix中基于Global Search组件,进行全文检索配置的全过程。

GO MAKE IT!

关于Mendix

作为西门子Xcelerator平台的低代码引擎,Mendix正在迅速成为推动企业数字化发展的首选应用程序开发平台。Mendix让企业能够以前所未有的速度构建应用程序、促进IT团队与业务专家之间开展有意义的协作,并帮助IT团队保持对整个应用程序环境的控制。作为一直被领先的行业分析师视为"领军者和远见者"的低代码平台,Mendix是云原生的、开放的、可扩展的、敏捷的,并且经过实践验证。从人工智能和增强现实,到智能自动化和原生移动,Mendix和西门子Xcelerator已成为"数字优先"企业的中坚力量。Mendix已被46个国家的4,000多家企业采用,并建立了由30多万名开发人员组成的活跃社区,这些开发人员使用该平台创建了20多万款应用程序。

相关推荐
Goona_4 小时前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt
rufeii7 小时前
[极客大挑战 2019]FinalSQL--布尔盲注
sql
技术卷12 小时前
详解力扣高频SQL50题之1084. 销售分析 III【简单】
sql·leetcode·oracle
cts61814 小时前
全文检索官网示例
python·全文检索·fastapi
NPE~14 小时前
基于MySQL实现基础图数据库
数据库·sql·mysql·教程·图数据库·图结构
技术卷14 小时前
详解力扣高频SQL50题之550. 游戏玩法分析 IV【中等】
sql·mysql·leetcode·oracle
样子201815 小时前
Sql注入 之sqlmap使用教程
数据库·sql
技术卷20 小时前
详解力扣高频 SQL 50 题之584. 寻找用户推荐人【入门】
sql·leetcode·oracle
ALLSectorSorft1 天前
教务管理系统学排课教务系统模块设计
数据库·sql·oracle
笑衬人心。1 天前
后端项目中大量 SQL 执行的性能优化
sql·spring·性能优化