I'm using Elasticsearch with Spring Data and I have this configuration:

```
public class Address {

    //...

    @MultiField(
            mainField = @Field(type = FieldType.Text),
            otherFields = {
                    @InnerField(suffix = "raw", type = FieldType.Keyword)
            }
    )
    private String locality;

    //...

}

```

User can filter addresses by locality, so I'm trying to find the proper Elasticsearch query.

Say there are 2 documents:

```
{ /* ... */, locality: "Granada" }
{ /* ... */, locality: "Las Palmas de Gran Canaria" }

```

Given user input `granada` or `Granada`, I want to just the first document to be returned. However, using this query, both of them are returned.

```
{
    "query": {
        "match": {
            "address.locality": "granada"
        }
    }
}

```

I have also tried with: 

```
{
    "query": {
        "term": {
            "address.locality.raw": "granada"
        }
    }
}

```

But, in that case, query is case sensitive and only returns first document when input is `Granada`, but not `granada`.

How could I achieve that behaviour?