Tôi có cấu trúc cha / con ở 3 cấp độ. Hãy cùng nói nào:
Công ty -> Nhân viên -> Tính khả dụng
Vì Tính sẵn sàng (và cả Nhân viên) được cập nhật thường xuyên ở đây, tôi chọn sử dụng cấu trúc cha / con so với lồng nhau. Và chức năng tìm kiếm hoạt động tốt (tất cả các tài liệu theo đúng phân đoạn).
Bây giờ tôi muốn sắp xếp các kết quả đó. Sắp xếp chúng theo dữ liệu meta từ công ty (cấp 1) rất dễ dàng. Nhưng tôi cũng cần sắp xếp theo cấp độ thứ 3 (tính khả dụng).
Tôi muốn danh sách các công ty được sắp xếp theo:
- Khoảng cách từ vị trí đã cho ASC
- Xếp hạng DESC
- Sớm nhất có sẵn ASC
Ví dụ:
Công ty A là 5 dặm, đã xếp hạng 4 và một thời gian sớm nhất của nhân viên của họ có sẵn trong 20 giờ Công ty B cũng là 5 dặm, cũng đã rating 4 nhưng một thời gian sớm nhất của nhân viên của họ có sẵn trong 5 giờ.
Do đó kết quả sắp xếp cần phải là B, A.
Tôi muốn thêm trọng số đặc biệt vào mỗi dữ liệu này, vì vậy tôi bắt đầu viết các tổng hợp mà sau này tôi có thể sử dụng trong tập lệnh custom_score của mình.
Ý chính đầy đủ để tạo chỉ mục, nhập dữ liệu và tìm kiếm
Bây giờ, tôi đã viết được một truy vấn thực sự trả về kết quả trả về, nhưng nhóm tổng hợp tính sẵn có trống. Tuy nhiên, tôi cũng nhận được kết quả quá cấu trúc, tôi muốn làm phẳng chúng.
Hiện tại tôi nhận được trở lại:
IDS công ty -> IDS nhân viên -> khả dụng đầu tiên
Tôi muốn có tổng hợp như:
IDS công ty -> tính khả dụng đầu tiên
Bằng cách này, tôi có thể thực hiện custom_score
kịch bản của mình để tính điểm và sắp xếp chúng hợp lý.
Câu hỏi đơn giản hơn:
Làm thế nào một người có thể sắp xếp / tổng hợp theo nhiều cấp độ con (lớn) và có thể làm phẳng kết quả.