Esempio n. 1
0
    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']
        ]
Esempio n. 2
0
 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']
Esempio n. 3
0
 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']))
Esempio n. 4
0
 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']
     ]
Esempio n. 5
0
 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']
     ]
Esempio n. 6
0
 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']
     ]
Esempio n. 7
0
 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']
     ]