使用Unicode的Elastic Search在python中表现异常

时间:2018-09-19 17:24:57

标签: python python-3.x elasticsearch unicode python-unicode

当我将python的elasticsearch与unicode字符一起使用时,我看到一些异常的结果。 当我们在变量中传递查询时,将导致找不到记录。 但是,当我们按照下面的第一个示例中的说明传递查询时,它给出了正确的结果。

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')

注意:在作为主体传递的第二个查询“ computed_query”中,分配了与第一个查询相同的查询。

第一个通过并给出正确的结果,但是第二个失败并说未找到记录。 这种情况仅适用于特殊Unicode字符,而不适用于ASCII字符。

任何有关此行为的帮助将非常有用。 谢谢!!!

0 个答案:

没有答案