2014-11-26 19 views
5

Tôi đang tìm một cách để có được các dữ liệu từ "ngày hôm qua" thay vì:elasticsearch có được ngày hôm qua

"range" : { 
    "price" : { 
     "gt" : "2014-11-24", 
     "lt" : "2014-11-26" 
    } 
} 

Tôi muốn một cái gì đó như:

"range" : { 
    "price" : { 
     "eq" : "2014-11-25" 
    } 
} 

Có ai nghĩ rằng nó có thể được?

Tôi đang nghĩ đến việc gì đó như:

"range" : { 
    "price" : { 
     "gt" : "now-2d", 
     "lt" : "now" 
    } 
} 

Nhưng tôi muốn lấy dữ liệu từ 00:00 để 12:00

Trả lời

8

Hãy thử điều này:

"query": { 
    "range": { 
     "price": { 
     "gt": "now-1d/d", 
     "lt": "now/d" 
     } 
    } 
    } 
+1

này sẽ trả về null. Nó phải là 'now-2d/d' thay vì' 1'; hoặc bạn có thể thay đổi 'gt' thành' gte' để sửa nó. – Xiao

2

Câu trả lời từ @ andrei-stefan là cách để làm điều này, nhưng tôi muốn thêm một ví dụ nhỏ cho người khác itting câu hỏi này.

Nếu bạn muốn lấy dữ liệu từ hôm qua 12:00-13:00 chứ không phải cả ngày, bạn có thể làm điều đó với một chút hơn ngày toán:

"query": { 
    "range": { 
     "price": { 
     "gt": "now-1d/d+12h", 
     "lt": "now-1d/d+13h" 
     } 
    } 
    } 

https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math

+0

Tôi rất biết ơn ví dụ mở rộng của bạn: Tôi đã tạo truy vấn cho khoảng thời gian "now-2d/d" đến "now-1d/d", nhưng đã nhận được kết quả trùng khớp vào lúc 16:00 ngày hôm trước - chỉ ra rằng dữ liệu bằng GMT, nhưng truy vấn đang được thực hiện trong PST. Với "now-2d/d + 8h" và "now-1d/d + 8h", tôi nhận được chính xác dữ liệu phù hợp. Tôi sẽ phải tự nhắc nhở mình thay đổi từ 8h đến 7h khi DST bắt đầu, tất nhiên. –

+0

^Hiệu chỉnh: Không phải dữ liệu là GMT, nhưng ngày làm tròn đó (/ d) sử dụng 00:00 UTC. –

+0

@DaveLand Đó là một điểm tốt. Bạn nên giữ ngày tháng của bạn trong UTC trong cơ sở dữ liệu và phía máy chủ, sau đó chuyển đổi chúng thành giờ địa phương khi họ nhận được cho khách hàng. Kibana cho thấy những thứ trong thời gian địa phương, mặc dù nó là UTC trong đàn hồi. – Mnebuerquo

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