AWS Amplify の GraphQL 変換を使用するために、スキーマと注釈を使用して graphQL API を構築しています。舞台裏で生成される ES インデックスの種類を制御するにはどうすればよいですか?
これは、たとえば「現在地から半径 5 km」、タイムスタンプなどのキーワードに基づいて検索機能を提供するシンプルな API です。キーワード検索はまったく問題なく機能しますが、地理空間検索は機能しません。私の調査によると、地理空間検索を行うには、ES に特定のタイプのスキーマが必要です。ここに私のスキーマがあります:
type User @model {
id: ID!
deviceID: [String!]
posts: [Post] @connection(name: "UserPosts")
comments: [Comment] @connection(name: "UserComments")
}
type Post @model @searchable {
id: ID!
items: String!
latitude: Float
longitude: Float
user: User @connection(name: "UserPosts")
comments: [Comment] @connection(name: "PostComments")
}
type Comment @model {
id: ID!
content: String
timestamp: AWSDateTime
location: String
post: Post @connection(name: "PostComments")
user: User @connection(name: "UserComments")
}
「Posts」を検索するための緯度、経度、距離を含むクエリは、有効な結果を返す必要があります。