type Query { search(query: String!, limit: Int, offset: Int, filters: SearchFilters): SearchResults! } input SearchFilters { types: [String!] languages: [String!] categories: [String!] tags: [String!] authors: [String!] dateFrom: String dateTo: String } type SearchResults { items: [SearchResultItem!]! total: Int! } type SearchResultItem { type: String! work: Work translation: Translation author: Author score: Float! }