def getObjects(self, p_luceneReq, p_type, p_ctor):
l_request = {
"fields": ["_id"],
"size": self.m_args.count,
"sort": {
"_id": {
"order": "asc"
}
},
"query": {
"query_string" : {
"query" : "title:\"" + KibTool.toLuceneSyntax(p_luceneReq) + "\" AND _type:" + p_type
}
}
}
if self.m_args.debug:
print("---", l_request)
try:
l_response = self.m_esfrom.search(index=self.m_args.kibfrom, doc_type=p_type, body=l_request)
except exceptions.NotFoundError:
print("*** Can't search in unknown index", self.m_args.kibfrom, file=sys.stderr)
sys.exit(1)
l_result = []
if 0 == l_response["hits"]["total"]:
print("*** No %s found for '%s' in index %s/%s" %
(p_type, p_luceneReq, self.m_args.esfrom, self.m_args.kibfrom), file=sys.stderr)
sys.exit(1)
elif self.m_args.count < l_response["hits"]["total"]:
print("*** Please use a greater --count (%d) to select all %ss" %
(l_response["hits"]["total"], p_type), file=sys.stderr)
sys.exit(1)
else:
for c_hit in l_response["hits"]["hits"]:
l_d = p_ctor(self.m_esfrom, self.m_args.kibfrom, c_hit["_id"])
l_result.append(l_d)
return l_result
评论列表
文章目录