Tôi có một truy vấn mà trông như thế này:Query DSL - Sự hiểu lầm của các bộ lọc
{
"query": {
"constant_score":
"filter": {
"missing": {
"field": "parent_id"
}
}
}
},
"size": limit,
"from": offset
}
loại của tôi có một và một lĩnh vực parent_id
wall_id
. Làm thế nào tôi có thể sửa đổi truy vấn này để tôi có thể nhận được tất cả các loại không có parent_id
và không có wall_id
? Tôi không thể giải mã nó từ các tài liệu. Cảm ơn bạn đã giúp đỡ!
CẬP NHẬT
Tôi có truy vấn sau đây mà làm việc, nhưng tôi không thích catchall query
vào tiêu đề. Có cách nào để làm điều này mà không cần phải thêm một "catchall
{
"query":{
"filtered":{
"query":{
"field":{ "title":"*" }
},
"filter":{
"and":{
"filters":[
{
"missing":{ "field":"parent_id" }
},
{
"missing":{ "field":"wall_id" }
}
]
}
}
}
}, "size":10, "from":0
}
Wow, đó là Tôi đã phải thêm dấu ngoặc nhọn xung quanh "bộ lọc" tài sản, nhưng nó hoạt động.Cảm ơn BTW, định dạng này là như vậy khó tính, là có một nguồn tài liệu tốt sang một bên các tài liệu elasticsearch.org – swatkins
Rất tiếc, cảm ơn Không có tài nguyên nào khác mà tôi biết, nhưng bạn có thể muốn xem các trang trình bày cho bản trình bày mà tôi đã đưa ra: http://www.elasticsearch.org/tutorials/2011/08/28/ query-dsl-explain.html Ngoài ra, tôi không biết khách hàng nào bạn đang sử dụng để nói chuyện với ES, nhưng nếu bạn quen thuộc với Perl, hãy xem SearchBuilder, một Perl nhỏ gọn hơn 'Cú pháp ish được dịch thành truy vấn ES tiêu chuẩn dsl: https://metacpan.org/module/ElasticSearch::SearchBuilder – DrTech
Tôi đang sử dụng node.js và mô-đun elasticsearchclient. Đó là một trợ giúp tuyệt vời. Cảm ơn! – swatkins