def suggest(): """Power typeahead.js search bar suggestions.""" field = request.values.get('field') query = request.values.get('query') search = RecordsSearch(index='records-hep', doc_type='hep') search = search.suggest( 'suggestions', query, completion={"field": field} ) suggestions = search.execute_suggest() if field == "authors.name_suggest": bai_name_map = {} for suggestion in suggestions['suggestions'][0]['options']: bai = suggestion['payload']['bai'] if bai in bai_name_map: bai_name_map[bai].append( suggestion['text'] ) else: bai_name_map[bai] = [suggestion['text']] result = [] for key, value in six.iteritems(bai_name_map): result.append( { 'name': max(value, key=len), 'value': key, 'template': 'author' } ) return jsonify({ 'results': result }) return jsonify({ 'results': [ {'value': s['text']} for s in suggestions['suggestions'][0]['options'] ] })