def search(self, **kwargs):
q = kwargs.get('q', '*')
sort = kwargs.get('sort', 'timestamp')
search_after = kwargs.get('search_after')
size = kwargs.get('size', 50)
source = kwargs.get('source')
extra = dict(
size=size)
if search_after:
extra.update(dict(search_after=search_after))
s = Search(using=self.client, index=self.index_name)
if source:
s = s.source(source)
s = s.sort(sort)
s = s.query(Q('query_string', query=q))
s = s.extra(**extra)
log.info('Query: %s', s.to_dict())
r = s.execute()
count = r.hits.total
took = r.took
result = r, count, took
return result
评论列表
文章目录