Trong trường hợp của tôi, tài liệu có hai trường, ví dụ: "tiêu đề" và "chế độ xem". "lượt xem" được biểu thị số lần mọi người đã truy cập tài liệu này. như: "title": "iphone", "views": "10". Tôi phải phát triển một chiến lược sẽ gán một số trọng số cho các lượt xem, chẳng hạn như điểm số liên quan được tính theo điểm (tiêu đề) * 0,8 điểm (lượt xem) * 0,2. Lucene có thể làm được điều này không? Và tôi muốn biết liệu có một số thuật toán liên quan đến câu hỏi này hay không.Lucene: cách tăng cường một số trường cụ thể
Trả lời
Đây là cách bạn có thể làm điều đó: điểm
Query titleQuery, viewsQuery;
titleQuery.setBoost(0.8);
viewsQuery.setBoost(0.2);
BooleanQuery query = new BooleanQuery();
query.add(titleQuery, Occur.MUST); // or Occur.SHOULD if this clause is optional
query.add(viewsQuery, Occur.SHOULD); // or Occur.MUST if this clause is required
// use query to search documents
sẽ tỷ lệ thuận với 0.8*score(titleQuery) + 0.2*score(viewsQuery)
(để một hằng số nhân).
Để tận dụng trường views
của bạn, có thể bạn sẽ cần sử dụng ValueSourceQuery.
Bạn có thể tăng theo 3 cách. Tùy thuộc vào nhu cầu của bạn, bạn có thể muốn sử dụng kết hợp
Tăng cấp tài liệu - trong khi lập chỉ mục - bằng cách gọi document.setBoost() trước khi thêm tài liệu vào chỉ mục.
Tăng cấp trường của tài liệu - trong khi lập chỉ mục - bằng cách gọi field.setBoost() trước khi thêm trường vào tài liệu (và trước khi thêm thêm tài liệu vào chỉ mục).
Tăng cấp truy vấn - trong khi tìm kiếm , bằng cách đặt tăng trên mệnh đề truy vấn, gọi Query.setBoost().
nguồn: http://lucene.apache.org/core/old_versioned_docs/versions/3_0_0/scoring.html
document.setBoost() không được dùng nữa từ lâu. – Dannyboy
- 1. tạo công cụ tăng cường thực thi
- 2. Django haystack: Tăng cường kết quả tìm kiếm nếu searchterm xuất hiện trong một trường cụ thể
- 3. Tăng cường các Điều khoản Lucene Khi Xây dựng Chỉ mục
- 4. Truy cập tên trường bản đồ kết hợp tăng cường
- 5. Kiểm tra Tăng cường: Cách viết các trường hợp kiểm tra được tham số
- 6. Cách tắt tăng cường EBean
- 7. Tổng hợp hai trường hợp tăng cường :: accumulator_set
- 8. Lucene - tìm kiếm trường giá trị số
- 9. Bộ công cụ tăng cường thực tế - Android
- 10. cách tăng cường multi_index được thực hiện
- 11. Tăng cường việc sử dụng
- 12. Jinja2, Backbone.js và tăng cường tiến bộ
- 13. Tăng tài liệu mới với Lucene
- 14. Tăng cường GA của tôi với các mạng nơron và/hoặc tăng cường học tập
- 15. Python tăng cường phân công vấn đề
- 16. Tham chiếu mã lỗi tăng cường
- 17. Tăng cường asio và C++ 11 một trận đấu tốt?
- 18. Tăng cường linker lỗi Visual C++
- 19. Tìm tăng cường đỉnh BGL bằng một phím
- 20. cách cài đặt tăng cường cho VS 2008?
- 21. Tăng cường tinh thần QI chậm
- 22. Có Thư viện tăng cường gui không?
- 23. các cửa hàng thuộc tính của một trường Lucene
- 24. Cách xử lý các thông số không mong muốn trong tăng cường :: program_options
- 25. Lỗi "Tạo một trường hợp cụ thể!"
- 26. Tăng cường nhật ký severity_logger init_from_stream
- 27. Làm thế nào để tăng cường ràng buộc làm việc đằng sau hậu trường nói chung?
- 28. Tăng cường là gì :: program_options :: notify() cho?
- 29. Thực hiện tốt việc học tăng cường?
- 30. Điểm số solr/lucene idf
nếu tôi hiểu nó correctyl setBoost đã không được chấp nhận và những ngày này https://lucene.apache.org/core/5_5_0/core/org/apache/lucene/search/BoostQuery.html shoudl được sử dụng – Dannyboy