简介与描述
Global Search模块为您的 MX应用程序提供基于 Lucene 搜索的高级搜索功能。
更具体地说,此模块允许您通过一个查询来搜索多个实体和属性。 此外,您可以根据自己的喜好配置“可搜索”对象,方法是为对象及其属性提供用户友好的名称,这些名称将显示在搜索结果中。 最重要的是,您可以直接从运行时为每种对象类型指定单击操作,当用户单击该对象的搜索结果时将触发该操作。
该模块提供了一个扩展的 Lucene 搜索查询,它允许您以多种方式搜索文本。 您可以在下面找到使用搜索时可以期待的示例。 在这个例子中,我们想要作为搜索结果返回的字符串是“This is a search module”,由于在这个模块中实现了扩展查询,你可以搜索以下内容,它都会返回提到的字符串:
- Exact word match(完全匹配的单词): e.g. “This”, “search”, “module”.
- Phrase match(短语匹配): e.g. “This is a”, “a search module”.
- Wildcard match(通配符匹配): e.g. “sear”, “modul”
- Wildcard Phrase match(通配符短语匹配): e.g. “his is a”, “a search mod”
V3版本特性
Global Search v3 中的新增功能:
- 与 MX 9 的兼容性 - 可配置的分面搜索
- 搜索(多个)关联
- 突出显示搜索结果
- 模糊搜索
- 为每个可搜索实体配置标题/详细信息属性
典型使用场景
当需要一次搜索多个对象时,可以使用全局搜索模块。
组件特点和局限性
特点:
- 配置可搜索的Objects
- 来配置搜索结果的显示方式:通过指示您是否可以搜索特定attribute以及这些attribute的显示名称应该是什么。
- 指定点击事件(On-Click Action – 点击搜索结果触发的event)
- 搜索结果中设置访问权限
- 配置相关联的实体Entity,这样可以通过关联关系Associate搜索到;
- 配置用于过滤搜索结果的构面;
- 突出显示搜索结果
- 模糊搜索
- 提供Java Action for :
- Indexing objects in event handlers
- Deleting indexed objects in event handlers
依赖
MX 8.6.4 or higher
Community Commons
Required Jar files:
- lucene-core-8.5.2
- lucene-queryparser-8.5.2
Step By Step 使用说明
首先导入Global Search:
点击下载进行导入:
点击import:
最后导入Community Commons
MX 9版本 -Global Search Bug修复
经过测试使用,9版本在确保引入了Module – Community Commons 需要做出一下修复动作。
Bug修复:
错误1:The selected ‘Atlas_UI_Resource_PopupLayout’no longer exists.
错误描述
拉大这个错误框后我们可以看到错误信息基本上分布于GlobalSearch 的 Layout 选择上。由于9版本,Atlas UI 对layout 进行了更新,并有些名称发生了变化。所以,我们要逐一去对每一个错误点进行修复Layout。
双击我们这个图中第一个错误:
- 在页面中我们首先调整出页面对应的 properties
- 可以双击图中的空白区域,这时会弹出页面配置的弹窗。
3. 紧接着,要对Layout进行选择
在老版本中Popup Layout 是属于Responsive类型的Layout,Platform 是web。在9.*版本中我们Popup Layout 是在图中的Modal Pop-up 类型中然后选择PopupLayout(Atlas_Core)
然后我们会发现少了两个错误。按照相同方法进行修复其他相同类型bug。当修复完 那18个报错后我们发现又出现了新的报错。首先,我们先保存我们以及修复过的页面。
右键点击标签,点击Close ALL 这样
选择Save
问题2: Design Properties have been renamed in your theme and need to be updated. Right-Click to see more options.
问题截图:
这个修复比较简单按照图中指示,选择Update all renamed design properties in Project
Global Seach Demo 使用教程:
检查是否具有Community commons
展开Global Search
展开后看到 Docs 和Use_Me 这两个文件夹我们主要参考和使用的。
展开Use Me
我们可以在MyFirstModule 右键点击MyFirstModule 然后选择add Page
选择blank,点击Blank Page Template 然后输入Page Name(可自定义)
在page页面添加Widget
选择snippet Call
选择调用Snippet:Global Search –> _USE_ME--> SNIP_Search_Configuration
修改Page Name 为GlobalSearchConfig:
接下来,将页面添加在导航栏:
选择show a page:
可以自行创建需要进行全文搜索的entity运行项目进行配置,点击 add:
这里的全文检索的Entity,叫SearchTarget 双击选项:
设置搜索结果:
配置关联的筛选项目:
测试搜索结果:
注意:点要在搜索的entity 的增加删除操作的微流后添加java action,若不配置,因为没有建立索引,则新添加的内容无法包含在全局搜索结果中。
更多信息,请访问以下链接:
西门子低代码中文官网:低代码应用开发平台 - 快速高效地构建应用
西门子低代码开发论坛-加入西门子低代码开发论坛,一起引领创新。
西门子低代码行业解决方案:Low-Code Solution Gallery | Customizable Solutions For Every Industry
感谢阅读!