2010-06-18 34 views
5

Theo Apache Solr documentation on facets, tôi có thể sử dụng khóa vì: 'Điều này có thể hữu ích khi faceting trên cùng một lĩnh vực nhiều lần với loại trừ khác nhau.'Solr nhiều khía cạnh ngày

Tôi cần chúng vì tôi muốn có một khía cạnh mang lại cho tôi các tùy chọn 'Ngày cuối cùng', 'Tuần trước', 'Tháng trước'.

Tuy nhiên, khi tôi chỉ định một truy vấn với các tùy chọn sau thiết lập:

http://URL/select? 
...unrelated... 
facet=true& 
facet.date={!key=some_key}created& 
f.some_key.facet.date.start=NOW/DAY-1DAY& 
f.some_key.facet.date.end=NOW/DAY& 
f.some_key.facet.date.gap=NOW/DAY+1DAY 
...unrelated... 

Solr phàn nàn về:

[ngoại trừ] => org.apache.solr.common.SolrException: Thiếu tham số bắt buộc: f.created.facet.date.start (hoặc mặc định: facet.date.start)

Khi tôi đặt facet.date.start hoặc f.created.facet.date.start, chúng sẽ ghi đè các trường của some_key của tôi (bắt đầu/kết thúc/khoảng cách) và điều này là vô ích bởi vì tôi cần nhiều khóa ... Có thể có ai hướng tôi đi đúng hướng không? Do hạn chế của thư viện mà tôi đang sử dụng, điều này cần được thực hiện trong một truy vấn.

Trả lời

11

Bạn có thể sử dụng các truy vấn khía cạnh:

http://URL/select? 
...unrelated... 
facet=true&  
facet.query=[NOW-1DAY TO NOW]& 
facet.query=[NOW-7DAY TO NOW]& 
facet.query=[NOW-1MONTH TO NOW]& 
...unrelated... 
+0

+1 đánh bại tôi vào nó :) –

+0

Managed để hack nó trong việc sử dụng copyFields thay vào đó, và không có thời gian để thay đổi vào thời điểm này, nhưng điều này có vẻ như một giải pháp hợp lý cũng. Có một số danh tiếng! :) –

+0

Được đánh giá cao! :) –

Các vấn đề liên quan