AWS AppSync 和 GrahphQL 中的搜索修饰符
Search modifiers in AWS AppSync and GrahphQL
我正在尝试使用 AWS AppSync + Amplify 开发 GraphQL API。我的模型看起来像 -
type AudioMetadata @model @searchable {
id: ID!,
title: String!,
description: String!,
category: [String]!,
duration: Int!
}
如您所知,这由 DynamoDB 和 Amazon Elastic Search 提供支持。我想要一个 Query
接受搜索修饰符进行搜索。搜索修饰符是类似 Slack 的修饰符,采用 id:
、intitle:
、indescription:
、duration_lt:
和 duration_gt:
.
的形式
搜索时,我想从ElasticSearch中搜索。
我的问题是如何编写 Query
来满足这些搜索修饰符(可能采用搜索修饰符和搜索字符串)并在 Elastic Search 中针对该字段进行搜索。
正如用户 Yik San Chan 在评论中提到的,一个很好的例子是 https://aws-amplify.github.io/docs/cli/graphql#add-a-custom-geolocation-search-resolver-that-targets-an-elasticsearch-domain-created-by-searchable
在您的情况下,您必须在模式中创建额外的 graphql 查询来处理您想要搜索的各种值(即 intitle、indescription)并为这些查询中的每一个创建解析器。按照上面 link 中的示例进行操作。
我正在尝试使用 AWS AppSync + Amplify 开发 GraphQL API。我的模型看起来像 -
type AudioMetadata @model @searchable {
id: ID!,
title: String!,
description: String!,
category: [String]!,
duration: Int!
}
如您所知,这由 DynamoDB 和 Amazon Elastic Search 提供支持。我想要一个 Query
接受搜索修饰符进行搜索。搜索修饰符是类似 Slack 的修饰符,采用 id:
、intitle:
、indescription:
、duration_lt:
和 duration_gt:
.
搜索时,我想从ElasticSearch中搜索。
我的问题是如何编写 Query
来满足这些搜索修饰符(可能采用搜索修饰符和搜索字符串)并在 Elastic Search 中针对该字段进行搜索。
正如用户 Yik San Chan 在评论中提到的,一个很好的例子是 https://aws-amplify.github.io/docs/cli/graphql#add-a-custom-geolocation-search-resolver-that-targets-an-elasticsearch-domain-created-by-searchable
在您的情况下,您必须在模式中创建额外的 graphql 查询来处理您想要搜索的各种值(即 intitle、indescription)并为这些查询中的每一个创建解析器。按照上面 link 中的示例进行操作。