Search over multiple name predicates

You need to create an interface.

interface Namer {
  name: String! @search
}

type Book implements Namer {...}
type Movie implements Namer{...}
type Podcast implements Namer{...}

Then you can query something with somehting like that

query foo ($name:String!){
     queryNamer(filter: {name:$name}) {
         name
         __typename
         ... on Book {
              #book's field names here
         }
         ... on Podcast {

        }
    }
}
1 Like