4nh7i3m
Senior Member
Chào mọi người,
Mình có một bài toán về hiển thị thế này muốn tham khảo ý kiến mọi người xem giải quyết thế nào cho đúng.
1. Mình có một hệ thống Elastic Search trong đó có 1 index Products.
2. Bên ngoài Web Frontend sẽ hiển thị index Products này với 4 tiêu chuẩn: default, sản phẩm mới nhất, giá giảm dần, giá tăng dần.
3. Trong mỗi tiêu chuẩn sort nó lại phân thành nhiều tiêu chuẩn phức tạp khác.
Ví dụ:
Default:
Giá giảm dần:
4. Vì lý do Sort rất phức tạp như trên nên mình muốn tìm hiểu xem có cách nào để quy các tiêu chuẩn trên về một dạng Long/Integer rồi lưu vào index. Sau đó chỉ cần áp Sort lên cái field đó thôi.
5. Ví dụ: Tạo Field SortDefault với công thức
(If highlight)*10^6+SortOrder*10^3+ IfNew*10^2+ IfAvailabe
Thì ở Frontend khi Default được chọn thì mình chỉ cần Sort theo cái Field SortDefault trong Elastic Search thôi.
Câu hỏi: Mình nghĩ chắc trong computer science có một cái giải thuật nào đó để build các tiêu chuẩn sort thành một Long/Int value. Nhưng mình lại không biết nó tên gì.
Anh em có ai biết chỉ mình. Mình cám ơn.
Mình có một bài toán về hiển thị thế này muốn tham khảo ý kiến mọi người xem giải quyết thế nào cho đúng.
1. Mình có một hệ thống Elastic Search trong đó có 1 index Products.
2. Bên ngoài Web Frontend sẽ hiển thị index Products này với 4 tiêu chuẩn: default, sản phẩm mới nhất, giá giảm dần, giá tăng dần.
3. Trong mỗi tiêu chuẩn sort nó lại phân thành nhiều tiêu chuẩn phức tạp khác.
Ví dụ:
Default:
- SortBy: Các sản phẩm có flag highlight (string) sẽ lên đầu
- ThenBy vị trí các sản phẩm được xác định qua SortOrder (int)
- ThenBy các sản phẩm có flag new (bool)
- ThenBy các sản phẩm có flag available (bool), tức là còn trong kho
Giá giảm dần:
- SortBy: Các sản phẩm có flag highlight (string) sẽ lên đầu
- ThenBy giá giảm dần
- ThenBy tình trạng hàng trong kho flag available (bool).
4. Vì lý do Sort rất phức tạp như trên nên mình muốn tìm hiểu xem có cách nào để quy các tiêu chuẩn trên về một dạng Long/Integer rồi lưu vào index. Sau đó chỉ cần áp Sort lên cái field đó thôi.
5. Ví dụ: Tạo Field SortDefault với công thức
(If highlight)*10^6+SortOrder*10^3+ IfNew*10^2+ IfAvailabe
Thì ở Frontend khi Default được chọn thì mình chỉ cần Sort theo cái Field SortDefault trong Elastic Search thôi.
Câu hỏi: Mình nghĩ chắc trong computer science có một cái giải thuật nào đó để build các tiêu chuẩn sort thành một Long/Int value. Nhưng mình lại không biết nó tên gì.
Anh em có ai biết chỉ mình. Mình cám ơn.

Chấm hóng các cao nhân.