Commit 899a30bd authored by Vũ Hoàng Anh's avatar Vũ Hoàng Anh

fix: quần lót nam search - add RELATED_LINES + search product_line_vn

- product_mapping.py: Add RELATED_LINES for Quần lót family (Quần lót đùi, Quần lót tam giác)
- product_mapping.py: Add synonyms quần sịp đùi, quần boxer, quần sịp tam giác, quần brief
- product_search_helpers.py: Expand LIKE filter to also match on product_line_vn
  (product_name uses 'quần sịp' but product_line_vn uses 'Quần lót đùi')
parent bb3abbe4
......@@ -39,8 +39,8 @@ PRODUCT_LINE_MAP: dict[str, list[str]] = {
"Quần soóc": ["quần soóc", "quần đùi", "quần short", "quần lửng", "quần ngố"],
"Quần nỉ": ["quần nỉ", "quần jogger", "quần ống bo chun"],
"Quần mặc nhà": ["quần mặc nhà"],
"Quần lót đùi": ["quần lót đùi"],
"Quần lót tam giác": ["quần lót tam giác"],
"Quần lót đùi": ["quần lót đùi", "quần sịp đùi", "quần boxer"],
"Quần lót tam giác": ["quần lót tam giác", "quần sịp tam giác", "quần brief"],
"Quần lót": ["quần lót", "quần chip", "quần sịp", "quần trong", "quần nhỏ", "quần xơ lít", "quần xì", "quần lót nữ", "quần lót nam", "quần lót trẻ em", "quần sơ lít"],
"Quần leggings mặc nhà": ["quần leggings mặc nhà"],
"Quần leggings": ["quần leggings"],
......@@ -82,6 +82,10 @@ for db_value, synonyms in PRODUCT_LINE_MAP.items():
RELATED_LINES: dict[str, list[str]] = {
"Áo bra active": ["Áo lót"],
"Áo lót": ["Áo bra active"],
# Quần lót (chung) → mở rộng tìm cả Quần lót đùi (Trunk) + Quần lót tam giác (Brief)
"Quần lót": ["Quần lót đùi", "Quần lót tam giác"],
"Quần lót đùi": ["Quần lót", "Quần lót tam giác"],
"Quần lót tam giác": ["Quần lót", "Quần lót đùi"],
}
......
......@@ -105,8 +105,10 @@ def _get_metadata_clauses(params, sql_params: list) -> list[str]:
if all_phrases:
like_parts = []
for phrase in all_phrases:
like_parts.append("LOWER(product_name) LIKE %s")
sql_params.append(f"%{phrase}%")
# Search cả product_name VÀ product_line_vn
# VD: product_name = "quần sịp đùi nam" nhưng product_line_vn = "Quần lót đùi"
like_parts.append("(LOWER(product_name) LIKE %s OR LOWER(product_line_vn) LIKE %s)")
sql_params.extend([f"%{phrase}%", f"%{phrase}%"])
clauses.append(f"({' OR '.join(like_parts)})")
logger.info(f"🏷️ [SQL FILTER] Product name: '{name_val}' → phrases: {all_phrases}")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment