Когда я используюasticsearch с python для символов юникода, я вижу какой-то необычный результат.Когда мы передаем запрос в переменной, это приводит к отсутствию записей.Но когда мы передаем запрос в том виде, в котором он находится в части тела, как указано в 1-м примере ниже, он дает правильный результат.
1-
result_set = self._elasticsearch_conn_instance.search(index='{0}'.format(self._dir_index), \
size=MAX_RECORD_PER_QUERY, \
body={"query":{"constant_score":{"filter":{"bool":{"must": [{"term":{"NAME":"çãoSc"}}, {"term":{"OP":"Create"}}]}}}}}, \
sort='OP:asc,SNAP:asc')
2-
result_set = self._elasticsearch_conn_instance.search(index='{0}'.format(self._dir_index), \
size=MAX_RECORD_PER_QUERY, \
body=computed_query, \
sort='OP:asc,SNAPID:asc')
Примечание: во 2-м запросе 'computed_query', который передается в качестве тела, присваивается тот же запрос, что и в части 1.
1-й проходит и дает правильный результат, но 2-й завершается неудачно и говорит, что запись не найдена.Этот случай только со специальными символами Unicode, а не с символами ASCII.
Любая помощь по этому поведению будет полезна.Спасибо !!!