def Search(cls, user, term, limit=20):
kind = cls._get_kind()
index = User.get_search_index(user.key, kind)
message = None
success = False
items = []
try:
query_options = search.QueryOptions(limit=limit)
query = search.Query(query_string=term, options=query_options)
search_results = index.search(query)
except Exception, e:
logging.debug("Error in search api: %s" % e)
message = str(e)
else:
keys = [ndb.Key(kind, sd.doc_id, parent=user.key) for sd in search_results.results if sd]
items = ndb.get_multi(keys)
success = True
return (success, message, items)
评论列表
文章目录