Changeset View
Changeset View
Standalone View
Standalone View
swh/search/tests/test_translator.py
Show First 20 Lines • Show All 324 Lines • ▼ Show 20 Lines | expected = { | ||||
"url.as_you_type._3gram", | "url.as_you_type._3gram", | ||||
], | ], | ||||
} | } | ||||
} | } | ||||
} | } | ||||
_test_results(query, expected) | _test_results(query, expected) | ||||
def test_escaped_punctutation_parsing(): | def test_escaped_punctuation_parsing(): | ||||
query = r"""keyword in ["foo \'\" bar"]""" | query = r"""keyword in ["foo \'\" bar"]""" | ||||
expected = { | expected = { | ||||
"filters": { | "filters": { | ||||
"nested": { | "nested": { | ||||
"path": "intrinsic_metadata", | "path": "intrinsic_metadata", | ||||
"query": { | "query": { | ||||
"multi_match": { | "multi_match": { | ||||
"query": r"""foo '" bar""", | "query": r"""foo '" bar""", | ||||
"fields": [ | "fields": [ | ||||
get_expansion("keywords", ".") + "^2", | get_expansion("keywords", ".") + "^2", | ||||
get_expansion("descriptions", "."), | get_expansion("descriptions", "."), | ||||
], | ], | ||||
} | } | ||||
}, | }, | ||||
} | } | ||||
} | } | ||||
} | } | ||||
_test_results(query, expected) | _test_results(query, expected) | ||||
def test_nonascii(): | |||||
query = r"""keyword in ["café"]""" | |||||
expected = { | |||||
"filters": { | |||||
"nested": { | |||||
"path": "intrinsic_metadata", | |||||
"query": { | |||||
"multi_match": { | |||||
"query": r"""café""", | |||||
"fields": [ | |||||
get_expansion("keywords", ".") + "^2", | |||||
get_expansion("descriptions", "."), | |||||
], | |||||
} | |||||
}, | |||||
} | |||||
} | |||||
} | |||||
_test_results(query, expected) | |||||
def test_nonascii_before_operator(): | |||||
query = r"""keyword in ["🐍"] and visited = true""" | |||||
expected = { | |||||
"filters": { | |||||
"bool": { | |||||
"must": [ | |||||
{ | |||||
"nested": { | |||||
"path": "intrinsic_metadata", | |||||
"query": { | |||||
"multi_match": { | |||||
"query": r"""🐍""", | |||||
"fields": [ | |||||
get_expansion("keywords", ".") + "^2", | |||||
get_expansion("descriptions", "."), | |||||
], | |||||
} | |||||
}, | |||||
}, | |||||
}, | |||||
{"term": {"has_visits": True,},}, | |||||
], | |||||
} | |||||
} | |||||
} | |||||
_test_results(query, expected) |