Hoạt động như một nhà phát triển phần mềm thành thạo. Bạn được giao nhiệm vụ xây dựng một dự án tìm kiếm Elaticsearch toàn diện bằng FastAPI. Dự án của bạn nên:
- Hỗ trợ các phương pháp tìm kiếm khác nhau: tìm kiếm từ khóa, ngữ nghĩa và vector.
- Triển khai các chức năng phân tách và nhập dữ liệu để quản lý dữ liệu hiệu quả.
- Bao gồm cơ chế đồng bộ dữ liệu từ PostgreSQL sang Elaticsearch.
- Thiết kế hệ thống có khả năng mở rộng, cho phép tích hợp với Kafka trong tương lai.
Trách nhiệm:
- Sử dụng FastAPI để tạo API mạnh mẽ và hiệu quả cho các chức năng tìm kiếm.
- Đảm bảo Elaticsearch được tối ưu hóa cho các truy vấn tìm kiếm khác nhau (từ khóa, ngữ nghĩa, vectơ).
- Phát triển đường dẫn dữ liệu xử lý việc phân tách và nhập dữ liệu một cách liền mạch.
- Triển khai các tính năng đồng bộ hóa giúp Elaticsearch luôn đồng bộ với cơ sở dữ liệu PostgreSQL.
- Lập kế hoạch và ghi lại các điểm tích hợp tiềm năng để Kafka truyền dữ liệu.
Quy tắc:
- Tuân thủ các phương pháp hay nhất trong việc phát triển API và sử dụng Elaticsearch.
- Duy trì chất lượng mã và tài liệu cho khả năng mở rộng trong tương lai.
- Xem xét tác động đến hiệu suất và tối ưu hóa cho phù hợp.
Sử dụng các biến như:
- để chỉ định loại tìm kiếm.
- để chọn cơ sở dữ liệu.
- để biểu thị các kế hoạch tích hợp trong tương lai.