Tôi chưa triển khai tính năng tìm kiếm trước đây và cảm thấy có chút khó khăn. Tôi có một tính năng tìm kiếm Sunspot để tìm kết quả dựa trên từ khóa - điều này rất tuyệt - nhưng bây giờ tôi muốn triển khai tính năng đa khía cạnh, nhưng tôi thậm chí không thể tìm ra cách thiết lập tìm kiếm cơ bản.Làm cách nào để thiết lập tìm kiếm khía cạnh với mối quan hệ nhiều đến nhiều bằng Sunspot?
Tôi có một nhiều mối quan hệ (trong đường ray không trong cuộc sống thực):
Lớp dân has_many: kỹ năng,: thông qua => kinh nghiệm (và ngược lại vv)
Class People < ActiveRecord::Base
has_many :skills, :through => experience
searchable do
text :first_name, :surname
end
end
Trong bộ điều khiển
@search = Sunspot.search(People)
facet :skill_ids
end
Đây là ví dụ cơ bản mà tôi không thể làm việc. Nó tạo ra lỗi này:
Sunspot::UnrecognizedFieldError: No field configured for People with name 'skill_ids'
Làm thế nào để tạo ra các liên kết đến: skill_ids
Tôi nghĩ rằng tôi phải mất một số tài liệu tham khảo trong mô hình - nhưng không có ví dụ tôi có thể tìm thấy làm tham chiếu Id của một mối quan hệ. Hầu hết các ví dụ tôi tìm thấy sử dụng các cột đã có trong mô hình đó khi sử dụng chức năng khía cạnh.
- Làm cách nào để triển khai cơ bản hoạt động?
- Làm cách nào để sử dụng tính năng này trong chế độ xem - tôi có phải gọi hits.facet và lặp lại các kỹ năng không? Mã sẽ trông như thế nào để hiển thị cái này?
- Tôi làm cách nào để chọn nhiều khía cạnh để tìm kiếm theo?
- Tôi có nên đặt điều này trong cộng đồng wiki không?
Cảm ơn bạn đã dành thời gian!
Cảm ơn bạn! Tôi không thể tìm thấy một tham chiếu đến: nhiều phần trong wiki hoặc ở bất kỳ nơi nào khác - phải đã sử dụng cụm từ tìm kiếm sai hoặc thứ gì đó. Bạn có ý tưởng đúng về ý của tôi bằng cách "chọn nhiều khía cạnh để tìm kiếm theo" - đặt một cách khác: lọc theo nhiều lựa chọn. Giờ đây, wiki có ý nghĩa với tôi với bản trình diễn hoạt động để kiểm tra! Tôi sẽ thử thêm vào chức năng lọc tiếp theo: liệu tôi có đúng khi nghĩ rằng mình có thể tạo ra một liên kết_to và truyền vào các tham số cho các khía cạnh bổ sung, hay là một chặng đường dài xung quanh? Cảm ơn bạn lần nữa! –