def _translate_query(self, query):
if isinstance(query, queries.CompoundQuery):
return functools.reduce({
queries.Or: operator.or_,
queries.And: operator.and_
}[query.__class__], [
self._translate_query(q)
for q in query.queries
])
key = query.key
if key.startswith('data.') and isinstance(query.value, str):
key += '.raw'
return elasticsearch_dsl.F({
queries.Equal: 'term'
}[query.__class__], **{key: query.value})
评论列表
文章目录