Replaced simple exact-match with 8-layer fallback strategy: 1. Exact normalized part number (parts.oem_part_number) 2. Exact normalized aftermarket part number 3. Exact normalized cross-reference number 4. Partial ILIKE match on OEM numbers 5. Partial ILIKE match on aftermarket numbers 6. Partial ILIKE match on cross-reference numbers 7. Separator-stripped fallback (KYB-343412 → KYB343412) 8. Name-based search on parts.name_part / parts.name_es and aftermarket_parts.name_aftermarket_parts when no part_number hit Brand-aware filtering: when brand hint is provided and not 'GENERAL', only returns MYEs for vehicles of that brand. Limits: max 20 part IDs per layer, max 200 MYEs total. Test: BPR5ES + TOYOTA → matched True, 2 parts, 200 MYEs inserted.
12 KiB
12 KiB