搜索应用程序
Elastic Stack Serverless
搜索应用程序使用户能够构建由搜索驱动的应用程序,这些应用程序利用 Elasticsearch 的全部功能及其查询 DSL,并具有简化的用户体验。 基于您的 Elasticsearch 索引创建搜索应用程序,使用搜索模板构建查询,并直接在 Kibana 搜索 UI 中轻松预览结果。
您还可以使用 搜索应用程序 API 与您的搜索应用程序交互。 搜索应用程序旨在简化使用 Elastic 平台在一系列企业搜索用例中构建统一搜索体验的过程。
搜索应用程序功能的文档位于两个位置
- 本节中的文档涵盖搜索应用程序的基础知识、在 Kibana UI 中使用搜索应用程序的信息以及用例示例。
- Elasticsearch API 文档包含以编程方式使用搜索应用程序的 API 参考。 如果您只对 API 感兴趣,请跳转到那里。
搜索应用程序功能是在 Elastic 版本 8.8.0 中引入的。
搜索应用程序是一项 Beta 功能。 Beta 功能可能会发生更改,并且不受通用版本 (GA) 功能的支持 SLA 保护。 Elastic 计划在未来的版本中将此功能提升到 GA。
此功能适用于所有 Elastic Cloud Hosted 部署。
当满足 Elastic 订阅要求时,此功能也可用于 自管理 部署。 在 Elastic Stack 订阅页面的 Elastic Search 部分下查看此功能的要求。
对于 Serverless 用户,这是一项仅 API 功能。 您可以使用 搜索应用程序 API 创建和管理搜索应用程序。
您的部署必须包含 Elasticsearch 和 Kibana 服务。
管理搜索应用程序需要 manage_search_application
集群权限,并且还需要与搜索应用程序关联的所有索引上的 manage
索引权限。
Elasticsearch 查询 DSL 功能强大且灵活,但学习曲线陡峭。 复杂的查询冗长且非专业人士难以理解。 我们已将搜索应用程序设计为更容易搜索,但仍具有使用 Elasticsearch 索引的灵活性。
搜索应用程序使用 搜索模板 来简化构建查询的过程。 模板在创建搜索应用程序时定义,并且可以根据您的需求进行自定义。 阅读 搜索 API 和模板 了解详细信息。
Serverless
您可以直接在 Kibana UI 的 Search 下创建、构建和管理您的搜索应用程序。 确保您的部署中至少有一个 Elasticsearch 索引可供使用。 搜索应用程序的基础索引将一起搜索,类似于 别名 如何搜索多个索引。
要在 Kibana 中创建新的搜索应用程序
- 转到 Search > Search Applications。
- 选择 Create。
- 选择要用于搜索应用程序的 Elasticsearch 索引。
- 命名您的搜索应用程序。
- 选择 Create。
您的搜索应用程序现在应该在列表中可用。
创建后,您可以在 Search > Search Applications > 您的搜索应用程序 > Docs Explorer 下浏览搜索应用程序中的文档。 从那里,您可以展开匹配的 Elasticsearch 文档以查看其全部内容。
使用 Elasticsearch Put Search Application API 创建搜索应用程序。
以下示例创建一个名为 my_search_application
的搜索应用程序,该应用程序在 my_search_index1
和 my_search_index2
索引上进行搜索,并定义一个简单的搜索模板(请参阅 默认模板示例)。
PUT /_application/search_application/my_search_application
{
"indices": [ "my_search_index1", "my_search_index2" ],
"template": {
"script": {
"source": {
"query": {
"query_string": {
"query": "{{query_string}}",
"default_field": "{{default_field}}"
}
}
},
"params": {
"query_string": "*",
"default_field": "*"
}
}
}
}
搜索模板是搜索应用程序的核心。 为搜索应用程序创建的 默认模板 非常简单,您需要对其进行自定义以满足您的需求。 搜索 API 和模板 包含许多示例,可帮助您入门,包括默认模板,以及用于文本搜索、语义搜索和混合搜索的模板。