fix: recognize consumer law titles in fallback

This commit is contained in:
agent committed 2026-09-25 20:27:48 +03:00
1 parent 3afac00394
commit feb0ddde32
2 files changed
+14 -1

No files matched your search

+1 -1
View File
@@ -42,7 +42,7 @@ def relaxed_query_text(language: str, query: str) -> str:
act_patterns = {
"ru": (
r"\b(?:кодекс\w*|конституци\w*|закон\w*|гк|ук|нк|коап|гпк|упк|уик)\b",
r"\b(?:гражданск\w*|уголовн\w*|налогов\w*|труд\w*|семейн\w*|административн\w*|процессуальн\w*|правонарушени\w*|кыргызск\w*|республик\w*|кр|о|об|и)\b",
r"\bо\s+защит\w*\s+прав\w*\s+потребител\w*\b|\b(?:гражданск\w*|уголовн\w*|налогов\w*|труд\w*|семейн\w*|административн\w*|процессуальн\w*|правонарушени\w*|кыргызск\w*|республик\w*|кр|о|об|и)\b",
),
"ky": (
r"\b(?:кодекс\w*|конституци\w*|мыйзам\w*|жк|үк)\b",
+13
View File
@@ -99,6 +99,19 @@ class SearchRelevanceTest(unittest.TestCase):
fallback = next(item["multi_match"] for item in clauses if item.get("multi_match", {}).get("boost") == 0.1)
self.assertEqual(fallback["query"], expected)
for query in (
"Закон о защите прав потребителей",
"Закон Кыргызской Республики о защите прав потребителей",
):
body = json.loads(build_search_body("ru", query, 10))
clauses = body["query"]["bool"]["must"]["bool"]["should"]
self.assertFalse(any(item.get("multi_match", {}).get("boost") == 0.1 for item in clauses))
consumer_rights = json.loads(build_search_body("ru", "Закон о защите прав потребителей возврат денег", 10))
consumer_clauses = consumer_rights["query"]["bool"]["must"]["bool"]["should"]
consumer_fallback = next(item["multi_match"] for item in consumer_clauses if item.get("multi_match", {}).get("boost") == 0.1)
self.assertEqual(consumer_fallback["query"], "возврат денег")
def test_company_registration_intent_boosts_current_documents(self):
for language, query, status in (
("ru", "как открыть ОсОО", "Действует"),