Bạn có thể tăng tốc khi lập chỉ mục, nó đã ở trong RavenDB trong một thời gian, nhưng nó không có trong tài liệu. Tuy nhiên, có một số xét nghiệm đơn vị minh họa here.
Các thử nghiệm đó hiển thị một giá trị tăng duy nhất, nhưng nó có thể dễ dàng được tính toán từ các giá trị tài liệu khác thay thế. Bạn có toàn bộ tài liệu có sẵn cho bạn vì điều này được thực hiện khi các mục nhập chỉ mục được viết. Bạn sẽ có thể kết hợp điều này với kỹ thuật được mô tả trong bài đăng mà bạn đã tham chiếu.
Map = docs => from doc in docs
select new
{
Title = doc.Title.Boost(doc.DateCreated.Ticks/1000000f)
};
Bạn cũng có thể thúc đẩy toàn bộ tài liệu thay vì chỉ các lĩnh vực Tiêu đề, mà có thể hữu ích nếu bạn có các lĩnh vực khác trong thuật toán tìm kiếm của bạn:
Map = docs => from doc in docs
select new
{
doc.Title
}.Boost(doc.DateCreated.Ticks/1000000f);
Bạn có thể cần phải thử nghiệm với quyền giá trị để sử dụng cho số tiền tăng. Có 10.000 ve trong một phần nghìn giây, vì vậy đó là lý do tại sao tôi chia cho một số lượng lớn như vậy.
Ngoài ra, hãy cẩn thận rằng DateTime
bạn đang làm việc với trong UTC hoặc nếu bạn không kiểm soát được vị trí của nó, hãy sử dụng DateTimeOffset
để thay thế. Tại sao? Vì bạn đang sử dụng thời lượng được tính từ một số điểm tham chiếu và bạn không muốn kết quả không rõ ràng cho các múi giờ khác nhau hoặc quanh các thay đổi về thời gian tiết kiệm ánh sáng ban ngày.
Nguồn
2012-12-13 18:21:24
cảm ơn liên kết tới tài liệu quảng bá, nhưng bạn sẽ tăng cường bằng cách nào? Tôi đã cập nhật câu hỏi của mình một chút để hy vọng làm rõ. –
Cảm ơn bạn đã làm rõ. Hãy để tôi suy nghĩ về điều này một chút. Có thể sử dụng một số hương vị quạ của kỹ thuật được mô tả trong bài đăng bạn đã liên kết. –
Đã cập nhật câu trả lời. Tôi hy vọng điều này mang lại kết quả bạn đang tìm kiếm! –