def get(self): '''Suggest territories''' args = parser.parse_args() result = es.suggest(index=es.index_name, body={ 'territories': { 'text': args['q'], 'completion': { 'field': 'territory_suggest', 'size': args['size'], } } }) if 'territories' not in result: return [] return [ { 'id': opt['payload']['id'], 'name': opt['payload']['name'], 'code': opt['payload']['code'], 'level': opt['payload']['level'], 'keys': opt['payload']['keys'], 'score': opt['score'], } for opt in result['territories'][0]['options'] ]
def get(self): q = request.args.get('q', '') size = request.args.get('size', DEFAULT_SIZE) result = es.suggest(index=es.index_name, body={ 'formats': { 'text': q, 'completion': { 'field': 'format_suggest', 'size': size } } }) return result['formats'][0]['options']
def get(self): '''Suggest file formats''' args = parser.parse_args() result = es.suggest(index=es.index_name, body={ 'formats': { 'text': args['q'], 'completion': { 'field': 'format_suggest', 'size': args['size'], } } }) if 'formats' not in result: return [] return sorted(result['formats'][0]['options'], key=lambda o: len(o['text']))
def get(self): q = request.args.get('q', '') size = request.args.get('size', DEFAULT_SIZE) result = es.suggest(index=es.index_name, body={ 'users': { 'text': q, 'completion': { 'field': 'user_suggest', 'size': size } } }) return [ { 'id': opt['payload']['id'], 'fullname': opt['payload']['fullname'], 'avatar_url': opt['payload']['avatar_url'], 'score': opt['score'], } for opt in result['users'][0]['options'] ]
def get(self): q = request.args.get('q', '') size = request.args.get('size', DEFAULT_SIZE) result = es.suggest(index=es.index_name, body={ 'reuses': { 'text': q, 'completion': { 'field': 'reuse_suggest', 'size': size } } }) return [ { 'id': opt['payload']['id'], 'title': opt['text'], 'score': opt['score'], 'slug': opt['payload']['slug'], 'image_url': opt['payload']['image_url'], } for opt in result['reuses'][0]['options'] ]
def get(self): '''Suggest datasets''' args = parser.parse_args() result = es.suggest(index=es.index_name, body={ 'datasets': { 'text': args['q'], 'completion': { 'field': 'dataset_suggest', 'size': args['size'], } } }) if 'datasets' not in result: return [] return [ { 'id': opt['payload']['id'], 'title': opt['text'], 'score': opt['score'], 'slug': opt['payload']['slug'], 'image_url': opt['payload']['image_url'], } for opt in result['datasets'][0]['options'] ]
def get(self): '''Suggest users''' args = parser.parse_args() result = es.suggest(index=es.index_name, body={ 'users': { 'text': args['q'], 'completion': { 'field': 'user_suggest', 'size': args['size'], } } }) if 'users' not in result: return [] return [ { 'id': opt['payload']['id'], 'fullname': opt['payload']['fullname'], 'avatar_url': opt['payload']['avatar_url'], 'slug': opt['payload']['slug'], 'score': opt['score'], } for opt in result['users'][0]['options'] ]