Exemplo n.º 1
0
 def test_build_query_limit_offset(self):
     params = {"q": "search word"}
     meta_params = {"limit": 20, "offset": 40}
     query = build_query(params, meta_params, "w")
     expected_query = (
         create_search("w").query(get_text_query_on_title("search word")).fields([]).extra(from_=40, size=20)
     )
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 2
0
 def test_build_query_limit_offset(self):
     params = {'q': 'search word'}
     meta_params = {'limit': 20, 'offset': 40}
     query = build_query(params, meta_params, 'w')
     expected_query = create_search('w'). \
         query(get_text_query_on_title('search word')). \
         fields([]).\
         extra(from_=40, size=20)
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 3
0
 def test_build_query_sort_outing(self):
     params = {'act': 'skitouring'}
     meta_params = {'limit': 20, 'offset': 40}
     query = build_query(params, meta_params, 'o')
     expected_query = create_search('o'). \
         filter(Term(activities='skitouring')).\
         fields([]).\
         sort({'date_end': {'order': 'desc'}}, {'id': {'order': 'desc'}}).\
         extra(from_=40, size=20)
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 4
0
 def test_build_query_sort_outing(self):
     params = {"act": "skitouring"}
     meta_params = {"limit": 20, "offset": 40}
     query = build_query(params, meta_params, "o")
     expected_query = (
         create_search("o")
         .filter(Term(activities="skitouring"))
         .fields([])
         .sort({"date_end": {"order": "desc"}}, {"id": {"order": "desc"}})
         .extra(from_=40, size=20)
     )
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 5
0
def search(url_params, meta_params, doc_type):
    """Builds a query from the URL parameters and return a tuple
    (document_ids, total) received from ElasticSearch.
    """
    query = build_query(url_params, meta_params, doc_type)

    # only request the document ids from ES
    response = query.execute()
    document_ids = [int(doc.meta.id) for doc in response]
    total = response.hits.total

    return document_ids, total
Exemplo n.º 6
0
 def test_build_query(self):
     params = {"q": "search word", "walt": "1500", "a": "1234,4567", "l": "fr"}
     meta_params = {"limit": 10, "offset": 0}
     query = build_query(params, meta_params, "w")
     expected_query = (
         create_search("w")
         .query(get_text_query_on_title("search word"))
         .filter(Term(available_locales="fr"))
         .filter(Terms(areas=[1234, 4567]))
         .filter(Range(elevation={"gte": 1500}))
         .fields([])
         .extra(from_=0, size=10)
     )
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 7
0
 def test_build_query_limit_offset(self):
     params = {
         'q': 'search word'
     }
     meta_params = {
         'limit': 20,
         'offset': 40
     }
     query = build_query(params, meta_params, 'w')
     expected_query = create_search('w'). \
         query(get_text_query('search word')). \
         fields([]).\
         extra(from_=40, size=20)
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 8
0
 def test_build_query_sort_outing(self):
     params = {
         'act': 'skitouring'
     }
     meta_params = {
         'limit': 20,
         'offset': 40
     }
     query = build_query(params, meta_params, 'o')
     expected_query = create_search('o'). \
         filter(Term(activities='skitouring')).\
         fields([]).\
         sort({'date_end': {'order': 'desc'}}, {'id': {'order': 'desc'}}).\
         extra(from_=40, size=20)
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 9
0
 def test_build_query(self):
     params = {
         'q': 'search word',
         'walt': '1500',
         'a': '1234,4567',
         'l': 'fr'
     }
     meta_params = {'limit': 10, 'offset': 0}
     query = build_query(params, meta_params, 'w')
     expected_query = create_search('w'). \
         query(get_text_query_on_title('search word')). \
         filter(Term(available_locales='fr')).\
         filter(Terms(areas=[1234, 4567])). \
         filter(Range(elevation={'gte': 1500})). \
         fields([]).\
         extra(from_=0, size=10)
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 10
0
 def test_build_query_bbox(self):
     params = {"q": "search word", "walt": "1500", "bbox": "699398,5785365,699498,5785465"}
     meta_params = {"limit": 10, "offset": 0}
     query = build_query(params, meta_params, "w")
     expected_query = (
         create_search("w")
         .query(get_text_query_on_title("search word"))
         .filter(Range(elevation={"gte": 1500}))
         .filter(
             GeoBoundingBox(
                 geom={"left": 6.28279913, "bottom": 46.03129072, "right": 6.28369744, "top": 46.03191439},
                 type="indexed",
             )
         )
         .fields([])
         .extra(from_=0, size=10)
     )
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 11
0
 def test_build_query_bbox(self):
     params = {
         'q': 'search word',
         'walt': '1500',
         'bbox': '699398,5785365,699498,5785465'
     }
     meta_params = {'limit': 10, 'offset': 0}
     query = build_query(params, meta_params, 'w')
     expected_query = create_search('w'). \
         query(get_text_query_on_title('search word')). \
         filter(Range(elevation={'gte': 1500})). \
         filter(GeoBoundingBox(
             geom={
                 'left': 6.28279913, 'bottom': 46.03129072,
                 'right': 6.28369744, 'top': 46.03191439},
             type='indexed')).\
         fields([]).\
         extra(from_=0, size=10)
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 12
0
 def test_build_query(self):
     params = {
         'q': 'search word',
         'walt': '1500',
         'a': '1234,4567',
         'l': 'fr'
     }
     meta_params = {
         'limit': 10,
         'offset': 0
     }
     query = build_query(params, meta_params, 'w')
     expected_query = create_search('w'). \
         query(get_text_query('search word')). \
         filter(Term(available_locales='fr')).\
         filter(Terms(areas=[1234, 4567])). \
         filter(Range(elevation={'gte': 1500})). \
         fields([]).\
         extra(from_=0, size=10)
     self.assertQueryEqual(query, expected_query)
Exemplo n.º 13
0
 def test_build_query_bbox(self):
     params = {
         'q': 'search word',
         'walt': '1500',
         'bbox': '699398,5785365,699498,5785465'
     }
     meta_params = {
         'limit': 10,
         'offset': 0
     }
     query = build_query(params, meta_params, 'w')
     expected_query = create_search('w'). \
         query(get_text_query('search word')). \
         filter(Range(elevation={'gte': 1500})). \
         filter(GeoBoundingBox(
             geom={
                 'left': 6.28279913, 'bottom': 46.03129072,
                 'right': 6.28369744, 'top': 46.03191439},
             type='indexed')).\
         fields([]).\
         extra(from_=0, size=10)
     self.assertQueryEqual(query, expected_query)