搜索
搜索扩展组件为应用程序提供全文搜索的功能。 支持配置实体索引和已上传文件的索引,并提供对索引数据进行搜索的 API 和 UI 组件。搜索结果会根据当前用户的 数据访问 权限进行过滤。
该扩展组件使用 Elasticsearch(ES) 或 OpenSearch(Jmix 2.3+) 作为搜索引擎。使用时请选择其中之一作为搜索引擎。
关于其内部原理和索引构建的更多信息请参阅 Elasticsearch 或 OpenSearch 文档。
安装
按照 扩展组件 章节的说明通过 Jmix 市场进行自动安装。
扩展组件默认安装后,将支持 OpenSearch 作为搜索引擎。
如果项目是从之前安装了扩展组件的 Jmix 版本升级而来,则会保留 Elasticsearch 作为搜索引擎。
手动安装,在 build.gradle
添加下列依赖:
implementation 'io.jmix.search:jmix-search-flowui-starter'
implementation 'io.jmix.search:jmix-search-starter'
implementation 'io.jmix.search:jmix-search-opensearch-starter'
如果需要切换搜索引擎,可以替换 jmix-search-opensearch-starter
或 jmix-search-elasticsearch-starter
。
implementation 'io.jmix.search:jmix-search-elasticsearch-starter'
连接搜索引擎服务
连接 Elasticsearch/OpenSearch 服务需要在 application.properties
文件中配置:
-
jmix.search.server.url
- 服务的完整 URL 地址。 -
jmix.search.server.login
- 用户名。 -
jmix.search.server.password
- 用户密码。
版本兼容性
Elasticsearch/OpenSearch 的 Java API 客户端是向前兼容的。
扩展组件使用 Elasticsearch Java API 客户端 v8.10.4,支持 ES 8.10+(但是应该也支持更老的版本,除非 Elastic 不支持老版本的服务了 - 7.17.x)。
对于 OpenSearch,扩展组件使用 Java API 客户端 v2.10.3。
注意,搜索扩展组件目前不支持 AWS 提供的 ES 服务。 |