def test_elasticsearch_query_min_score(app): """Test building a query with min_score.""" app.config.update(SEARCH_RESULTS_MIN_SCORE=0.1) q = RecordsSearch() q = q.query(Q('match', title='Higgs')) search_dict = q.to_dict() assert 'min_score' in search_dict assert search_dict['min_score'] == app.config['SEARCH_RESULTS_MIN_SCORE']
def test_empty_query(app): """Test building an empty query.""" with app.app_context(): q = RecordsSearch() assert q.to_dict()['query'] == {'match_all': {}} q = RecordsSearch.faceted_search('') assert q._s.to_dict()['query'] == {'match_all': {}} q = RecordsSearch()[10] assert q.to_dict()['from'] == 10 assert q.to_dict()['size'] == 1 q = q[10:20] assert q.to_dict()['from'] == 10 assert q.to_dict()['size'] == 10 q = q.sort({'field1': {'order': 'asc'}}) assert q.to_dict()['sort'][0] == {'field1': {'order': 'asc'}} q = q.sort() assert 'sort' not in q.to_dict() q = q.sort('-field1') assert q.to_dict()['sort'][0] == {'field1': {'order': 'desc'}} q = q.sort('field2', {'field3': {'order': 'asc'}}) assert q.to_dict()['sort'][0] == 'field2' assert q.to_dict()['sort'][1] == {'field3': {'order': 'asc'}} q.sort() q = RecordsSearch() q = q.highlight('field1', index_options='offsets') assert len(q.to_dict()['highlight']['fields']) == 1 assert q.to_dict()['highlight']['fields']['field1'] == { 'index_options': 'offsets' } q = q.highlight('field2') assert len(q.to_dict()['highlight']['fields']) == 2 assert q.to_dict()['highlight']['fields']['field1'] == { 'index_options': 'offsets' } assert q.to_dict()['highlight']['fields']['field2'] == {} q = q.highlight() assert 'highligth' not in q.to_dict()