Пример #1
0
 def search(cls, expression, page, per_page):
     ids, total = search(cls.__tablename__, expression, page, per_page)
     if total == 0:
         return cls.query.filter_by(id=0), 0
     when = []
     for i in range(len(ids)):
         when.append((ids[i], i))
     return cls.query.filter(cls.id.in_(ids)).order_by(
         db.case(when, value=cls.id)), total
Пример #2
0
def application_do_search_api(name):
    args = reqparse.RequestParser(). \
        add_argument("fields", type=dict, required=True). \
        add_argument("topk", type=int, required=True). \
        add_argument("nprobe", type=int, required=False, default=16). \
        parse_args()
    args = from_view_dict(args)
    return search(name,
                  fields=args['fields'],
                  topk=args['topk'],
                  nprobe=args['nprobe'])