def build_query_from_request(request): return { 'query': { 'function_score': { 'query': {'bool': { 'filter': {'term': {'is_stub': False}}, }}, 'functions': get_default_score_functions() } } }
def build_query_from_request(request, location=None, place=None, parent=None, date=None, include_past=False): filters = [] if location: filters.append({'term': {'location': location}}) if place: filters.append({'term': {'place': place}}) if parent: filters.append({'term': {'parent': parent}}) if date: date_value = '{}||/d'.format(date.isoformat()) filters.append({'nested': { 'path': 'dates', 'query': { 'bool': { 'filter': [ {'range': {'dates.start': {'lte': date_value}}}, {'range': {'dates.end': {'gte': date_value}}} ] } } }}) elif not include_past: now = datetime.now().isoformat() filters.append({'range': {'end': {'gte': now}}}) return { 'query': { 'function_score': { 'query': {'bool': { 'filter': filters, 'should': [ {'term': {'kind': 'theater'}}, {'term': {'is_for_kids': False}}, ] }}, 'functions': get_default_score_functions() } } }
def build_query_from_request(request, location=None): filters = [ {'term': {'is_stub': False}} ] if location: filters.append({'term': {'location': location}}) return { 'query': { 'function_score': { 'query': {'bool': { 'filter': filters, 'should': [ {'term': {'kind': 'theater'}}, {'term': {'is_for_kids': False}}, ], }}, 'functions': get_default_score_functions() } } }
def build_query_from_request(request, location=None, place=None, parent=None, date=None, include_past=False): filters = [] if location: filters.append({'term': {'location': location}}) if place: filters.append({'term': {'place': place}}) if parent: filters.append({'term': {'parent': parent}}) if date: date_value = '{}||/d'.format(date.isoformat()) filters.append({ 'nested': { 'path': 'dates', 'query': { 'bool': { 'filter': [{ 'range': { 'dates.start': { 'lte': date_value } } }, { 'range': { 'dates.end': { 'gte': date_value } } }] } } } }) elif not include_past: now = datetime.now().isoformat() filters.append({'range': {'end': {'gte': now}}}) return { 'query': { 'function_score': { 'query': { 'bool': { 'filter': filters, 'should': [ { 'term': { 'kind': 'theater' } }, { 'term': { 'is_for_kids': False } }, ] } }, 'functions': get_default_score_functions() } } }
def build_query_from_request(request, q, location=None, include_past=False): filters = [{ 'bool': { 'should': [ { 'term': { 'is_stub': False } }, { 'missing': { 'field': 'is_stub' } }, ] } }] if location: filters.append({'term': {'location': location}}) if not include_past: now = datetime.now().isoformat() filters.append({ 'bool': { 'should': [{ 'range': { 'end': { 'gte': now } } }, { 'missing': { 'field': 'end' } }] } }) return { 'query': { 'function_score': { 'query': { 'bool': { 'must': [ { 'multi_match': { 'query': q, 'type': 'phrase', 'fields': [ 'name.ngram', 'name.text', 'full_name.ngram', 'full_name.text' ], 'slop': 50 } }, ], 'filter': filters, 'should': [ { 'term': { '_type': 'place' } }, { 'term': { 'is_for_kids': False } }, ], } }, 'functions': get_default_score_functions() } }, 'highlight': { 'fields': { 'name.ngram': {}, 'name.text': {}, 'full_name.text': {}, 'full_name.ngram': {}, } } }
def build_query_from_request(request, q, location=None, include_past=False): filters = [ { 'bool': { 'should': [ {'term': {'is_stub': False}}, {'missing': {'field': 'is_stub'}}, ] } } ] if location: filters.append({'term': {'location': location}}) if not include_past: now = datetime.now().isoformat() filters.append({ 'bool': { 'should': [ {'range': {'end': {'gte': now}}}, {'missing': {'field': 'end'}} ] } }) return { 'query': { 'function_score': { 'query': {'bool': { 'must': [ {'multi_match': { 'query': q, 'type': 'phrase', 'fields': [ 'name.ngram', 'name.text', 'full_name.ngram', 'full_name.text' ], 'slop': 50 }}, ], 'filter': filters, 'should': [ {'term': {'_type': 'place'}}, {'term': {'is_for_kids': False}}, ], }}, 'functions': get_default_score_functions() } }, 'highlight': { 'fields': { 'name.ngram': {}, 'name.text': {}, 'full_name.text': {}, 'full_name.ngram': {}, } } }