Hi
Could you please clarify if it is possible to have case-insensitive term.keyword search with non-ascii symbols? It seems not to work.
Here is the example:
Indexing 4 documents (2 ascii and 2 non-ascii)
>>> es.index(index='testi', document={'text': 'ċ'}) # non-ascii
>>> es.index(index='testi', document={'text': 'Ċ'}) # non-ascii
>>> es.index(index='testi', document={'text': 'a'}) # ascii
>>> es.index(index='testi', document={'text': 'A'}) # ascii
It works well with ascii symbols
>>> pprint(es.search(index='testi', query={"bool":{"must":[{"term": {'text.keyword': {'value': 'a', 'case_insensitive': 'true' } }}]}})['hits'])
{'hits': [{'_id': 'QV3ZIYoBpIJf8GfZm98T',
'_index': 'testi',
'_score': 1.0,
'_source': {'text': 'a'}},
{'_id': 'Ql3ZIYoBpIJf8GfZpd8n',
'_index': 'testi',
'_score': 1.0,
'_source': {'text': 'A'}}],
'max_score': 1.0,
'total': {'relation': 'eq', 'value': 2}}
and seems to now work with non-ascii
>>> pprint(es.search(index='testi', query={"bool":{"must":[{"term": {'text.keyword': {'value': 'ċ', 'case_insensitive': 'true' } }}]}})['hits'])
{'hits': [{'_id': 'P13YIYoBpIJf8GfZbd8D',
'_index': 'testi',
'_score': 1.0,
'_source': {'text': 'ċ'}}],
'max_score': 1.0,
'total': {'relation': 'eq', 'value': 1}}
>>> pprint(es.search(index='testi', query={"bool":{"must":[{"term": {'text.keyword': {'value': 'Ċ', 'case_insensitive': 'true' } }}]}})['hits'])
{'hits': [{'_id': 'QF3ZIYoBpIJf8GfZgt_s',
'_index': 'testi',
'_score': 1.0,
'_source': {'text': 'Ċ'}}],
'max_score': 1.0,
'total': {'relation': 'eq', 'value': 1}}
All settings/mappings are default.