// tag::low-level[]

This is how you can create a single match query with the low-level API: 

[source,go]
----
query := `{ "query": { "match_all": {} } }`
client.Search(
    client.Search.WithIndex("my_index"),
    client.Search.WithBody(strings.NewReader(query)),
)
----

// end::low-level[]


// tag::fully-typed[]

This is how you can perform a single match query with the fully-typed API:

[source,go]
----
typedClient.Search().
    Index("my_index").
    Request(&search.Request{
        Query: &types.Query{MatchAll: &types.MatchAllQuery{}},
    }).
    Do(context.TODO())
----

// end::fully-typed[]