Beispiel #1
0
 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
Beispiel #2
0
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