Упругий поиск с Unicode ведет себя резко с питоном - PullRequest
0 голосов
/ 19 сентября 2018

Когда я использую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.

Любая помощь по этому поведению будет полезна.Спасибо !!!

...