Elasticsearch: Parameter "include" isn't case insensitive



How can I configure the index in elasticsearch in order to make the parameter "include" from the aggregation to be case insensitive?

I have this index:

PUT index
"settings": {
"analysis": {
"analyzer": {
"my_normalizer": {
"type": "custom",
"tokenizer": "keyword",
"char_filter": ,
"filter": [ "lowercase"]
"mappings": {
"_doc": {
"properties": {
"foo": {
"type": "text",
"analyzer": "my_normalizer",
"fielddata": true
With data:
PUT index/_doc/1
"foo": "BAR"

PUT index/_doc/2
"foo": "bar"

And the query:
GET index/_search
"size": 0,
"aggs": {
"terms": {"field": "foo",
"include": "ba.*"
But if i change "ba" in "BA" the aggregation has no result.
Can you help me?

(David Pilato) #2

Don't use a lowercase normalizer may be.


If i don't use a lowercase normalizer the aggregation returns one result with (""include": "ba."" -bar ) and one result with ("include": "BA." -BAR). But i want both of the results no matter what i type (ba/BA)

(David Pilato) #4

The result you are getting is then ba and not BA. That's why you can't include the later.

(system) #5

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.