# 3. Core Logic: StarRocks Vector Search

Khi quá trình tìm kiếm thuộc tính chính xác (Literal/Inferred) bị rỗng, hệ thống sẽ thực hiện **Fallback Cascade** xuống Semantic Vector Search (sử dụng như một sự thay thế cho thuật toán BM25).

Bảng `magento_product_dimension_with_text_embedding` trong StarRocks lưu trữ các sản phẩm, trong đó cột `vector` là một mảng float32. Cột này được lập chỉ mục **HNSW (Hierarchical Navigable Small World)**.

### Tại sao lại dùng HNSW trên StarRocks?
- HNSW không tính toán khoảng cách Euclidean (hoặc Cosine) trên *tất cả* các bản ghi (Full Scan), mà phân chia không gian vector thành nhiều layer graph nhỏ (các "trạm trung chuyển").
- Khi search với `approx_cosine_similarity`, StarRocks dùng HNSW Index tìm kiếm các vector lân cận, giúp giảm độ trễ truy vấn từ hàng giây xuống khoảng dưới 200ms.
- Hint `/*+ SET_VAR(ann_params='{"ef_search":256}') */` được dùng trong SQL Query để tối ưu hóa độ chính xác và tốc độ recall của HNSW.