def __init__(self, request, parser, result, schema=None): super(RecordsQueryResult, self).__init__(request, parser, result, schema=schema) ids = [res.get('id') for res in self.results] for record in DocumentRecord.find_records(ids): for result in self.results: if result['id'] == record.id: result['data'] = record.data result['text'] = record.text
def execute_records_query(document_id, state, query): """Execute a query against records and return a set of results.""" result, hits, output = execute_basic(TYPE_RECORD, query) ids = [] for rec in hits.get('hits', []): record = rec.get('_source') record['score'] = rec.get('_score') record['id'] = int(rec.get('_id')) ids.append(rec.get('_id')) for text in rec.get('highlight', {}).get('text', []): record['text'] = text output['results'].append(record) for record in DocumentRecord.find_records(document_id, ids): for result in output['results']: if result['id'] == record.id: result['data'] = record.data result['text'] = record.text return output