Я строю API GraphQL со схемой и аннотациями, чтобы использовать преобразование GraphQL AWS Amplify.Как я могу контролировать, какой индекс ES он создает за сценой?
Это простой API, который предоставляет функции поиска на основе, скажем, «5 км радиуса от текущего местоположения», отметки времени и других ключевых слов.Поиск по ключевым словам работает абсолютно нормально, но не геопространственный поиск.Согласно моему исследованию, для выполнения геопространственного поиска необходимо иметь определенный тип схемы в 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")
}
Запрос с широтой, долготой и расстоянием, чтобы найти «Должности», должен вернуть действительные результаты.