Tình hìnhSitecore Lucene: tái-index con (hoặc mẹ) các mặt hàng về việc cập nhật mục
Tôi có sau cấu hình Sitecore Lucene:
- chỉ số mới, type = "Sitecore.Search.Index , Sitecore.Kernel "
- Chứa hai trình thu thập thông tin (một trình thu thập thông tin tùy chỉnh bổ sung thêm các trường" được tính ")
- Mỗi trình thu thập xử lý mẫu GUID cụ thể của nó, vì chúng chứa các trường được tính toán khác nhau
Vấn đề
Các lĩnh vực tính toán được dựa trên cha/con lĩnh vực. Làm thế nào Lucene trong Sitecore dường như được thiết lập, là chỉ có các tài liệu cho các mặt hàng đã thực sự thay đổi được cập nhật trong chỉ mục.
Như vậy, các trường được tính toán trên các tài liệu khác (bắt buộc, có các điều kiện tìm kiếm trên các trường này) không được cập nhật.
Câu hỏi
Có một khả năng tự kích hoạt các bản cập nhật của các mặt hàng khác trong chỉ mục?
Tôi đã xem xét kế thừa Sitecore.Search.Index, nhưng không có phương pháp nào có liên quan là ảo.
Ngoài ra, tôi đã cố gắng đăng ký với các sự kiện IndexingProvider:
sự kiện công khai EventHandler OnRemoveItem;
sự kiện công khai EventHandler OnRemoveVersion;
sự kiện công khai EventHandler OnUpdateItem;
Ý tưởng đằng sau điều này là kích hoạt sự kiện OnUpdateItem trong DatabaseCrawler cho các mục khác cần được cập nhật, nhưng bạn không thể kích hoạt sự kiện này từ bên ngoài IndexingProvider.
Có cách nào để kích hoạt cập nhật chỉ mục mà không thực hiện xây dựng lại đầy đủ, không liên quan đến việc lưu/tái xuất bản các mục khác đó không?
Cảm ơn!
Sander
Sẽ không kích hoạt HistoryEngine với các mục bổ sung có bất kỳ tác dụng phụ bất lợi nào đối với các thành phần Sitecore khác không? Nghe có vẻ giống như một cách tiếp cận hợp lý, vì vậy tôi sẽ thử điều này sớm. Tôi sẽ báo cáo lại sớm, trước hết cần phải hoàn thành một số nhiệm vụ chạy nước rút khác;) – sanderd
Phân tích trong chương trình phản xạ IndexingManager là người nghe duy nhất cho HistoryEngine.AddedEntry, vì vậy bạn có thể an toàn ở đó. Không thể đảm bảo cho dù đó là bằng chứng trong tương lai trong sự tôn trọng đó, tôi giả sử. Điều đó nói rằng, nó mang đến một điểm mà người nghe AddEntry của bạn cần phải có logic để ngăn chặn đệ quy vô hạn. Sẽ chỉnh sửa. – techphoria414