Source code for regcore_read.views.es_search

from django.conf import settings
from pyelasticsearch import ElasticSearch

from regcore import db
from regcore.responses import success, user_error


PAGE_SIZE = 50



[docs]def transform_results(results): """Pull out unused fields, add title field from layers if possible""" regulations = set((r['regulation'], r['version']) for r in results) layers = {} for regulation, version in regulations: terms = db.Layers().get('terms', regulation, version) # We need the references, not the locations of defined terms if terms: defined = {} for term_struct in terms['referenced'].values(): defined[term_struct['reference']] = term_struct['term'] terms = defined layers[(regulation, version)] = { 'keyterms': db.Layers().get('keyterms', regulation, version), 'terms': terms } for result in results: title = result.get('title', '') ident = (result['regulation'], result['version']) keyterms = layers[ident]['keyterms'] terms = layers[ident]['terms'] if not title and keyterms and result['label_string'] in keyterms: title = keyterms[result['label_string']][0]['key_term'] if not title and terms and result['label_string'] in terms: title = terms[result['label_string']] if title: result['title'] = title return results

Project Versions

This Page