In Elasticsearch, how do I perform a nested sum query with a filter?Elasticsearch query to return all recordsSearching objects having all nested children matching a given query in ElasticsearchElasticsearch aggregations filtered result is not working properlyHow can I filter these Elasticsearch aggregations?Aggregate only matched nested object values in ElasticSearchElasticSearch - filter and aggregate nested documentsHow to get the parent document in a nested top_hits aggregation?use maximum value of nested array for sum aggregation in elasticsearchElasticsearch Aggregations: filtering a global aggregation with nested queries
Was the Lonely Mountain, where Smaug lived, a volcano?
Why is C++ template use not recommended in space/radiated environment?
Why does this Apple //e drops into system monitor when booting?
Is it possible to have battery technology that can't be duplicated?
Do Veracrypt encrypted volumes have any kind of brute force protection?
What are the advantages of using TLRs to rangefinders?
How effective would a full set of plate armor be against wild animals found in temperate regions (bears, snakes, wolves)?
Can I get a photo of an Ancient Arrow?
Does WiFi affect the quality of images downloaded from the internet?
I received a gift from my sister who just got back from
Can Dive Down protect a creature against Pacifism?
Is all-caps blackletter no longer taboo?
Can a 40amp breaker be used safely and without issue with a 40amp device on 6AWG wire?
What game uses dice with compass point arrows, forbidden signs, explosions, arrows and targeting reticles?
Purpose of cylindrical attachments on Power Transmission towers
Why did the Death Eaters wait to reopen the Chamber of Secrets?
Can you open the door or die? v2
Should I worry about having my credit pulled multiple times while car shopping?
Idiom for 'person who gets violent when drunk"
What game uses six-sided dice with symbols as well as numbers on the 5 and 6 faces and a blank space where “1” should be?
Is it ethical to cite a reviewer's papers even if they are rather irrelevant?
Nth term of Van Eck Sequence
Optimising matrix generation time
My parents claim they cannot pay for my college education; what are my options?
In Elasticsearch, how do I perform a nested sum query with a filter?
Elasticsearch query to return all recordsSearching objects having all nested children matching a given query in ElasticsearchElasticsearch aggregations filtered result is not working properlyHow can I filter these Elasticsearch aggregations?Aggregate only matched nested object values in ElasticSearchElasticSearch - filter and aggregate nested documentsHow to get the parent document in a nested top_hits aggregation?use maximum value of nested array for sum aggregation in elasticsearchElasticsearch Aggregations: filtering a global aggregation with nested queries
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I have created a mapping as follows:
PUT cars
"mappings":
"_doc":
"properties":
"metadata":
"type":"nested"
Then I insert a document:
PUT /cars/_doc/1
"metadata":[
"key":"price",
"value":20000
,
"key":"miles",
"value":1000
]
Now I wish to retrieve the sum of all the prices (there's only one document here but I still think it's enough to show the point).
I've tried:
GET cars/_doc/_search
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
But this will includes miles, which I don't want.
How do I add a filter so that only price is included in my query ie how do I get the query to return 20,000, not 21,000?
add a comment |
I have created a mapping as follows:
PUT cars
"mappings":
"_doc":
"properties":
"metadata":
"type":"nested"
Then I insert a document:
PUT /cars/_doc/1
"metadata":[
"key":"price",
"value":20000
,
"key":"miles",
"value":1000
]
Now I wish to retrieve the sum of all the prices (there's only one document here but I still think it's enough to show the point).
I've tried:
GET cars/_doc/_search
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
But this will includes miles, which I don't want.
How do I add a filter so that only price is included in my query ie how do I get the query to return 20,000, not 21,000?
add a comment |
I have created a mapping as follows:
PUT cars
"mappings":
"_doc":
"properties":
"metadata":
"type":"nested"
Then I insert a document:
PUT /cars/_doc/1
"metadata":[
"key":"price",
"value":20000
,
"key":"miles",
"value":1000
]
Now I wish to retrieve the sum of all the prices (there's only one document here but I still think it's enough to show the point).
I've tried:
GET cars/_doc/_search
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
But this will includes miles, which I don't want.
How do I add a filter so that only price is included in my query ie how do I get the query to return 20,000, not 21,000?
I have created a mapping as follows:
PUT cars
"mappings":
"_doc":
"properties":
"metadata":
"type":"nested"
Then I insert a document:
PUT /cars/_doc/1
"metadata":[
"key":"price",
"value":20000
,
"key":"miles",
"value":1000
]
Now I wish to retrieve the sum of all the prices (there's only one document here but I still think it's enough to show the point).
I've tried:
GET cars/_doc/_search
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
But this will includes miles, which I don't want.
How do I add a filter so that only price is included in my query ie how do I get the query to return 20,000, not 21,000?
asked Mar 25 at 0:58
HoaHoa
7,793225681
7,793225681
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Since you want to consider only price, all you need to do is filter the nested documents where key is price. To do this you need to add filter aggregation as below:
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"price":
"filter":
"term":
"metadata.key": "price"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
@Hoa : Was the answer useful and solved your problem?
– Nishant Saini
Mar 28 at 3:40
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55330061%2fin-elasticsearch-how-do-i-perform-a-nested-sum-query-with-a-filter%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Since you want to consider only price, all you need to do is filter the nested documents where key is price. To do this you need to add filter aggregation as below:
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"price":
"filter":
"term":
"metadata.key": "price"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
@Hoa : Was the answer useful and solved your problem?
– Nishant Saini
Mar 28 at 3:40
add a comment |
Since you want to consider only price, all you need to do is filter the nested documents where key is price. To do this you need to add filter aggregation as below:
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"price":
"filter":
"term":
"metadata.key": "price"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
@Hoa : Was the answer useful and solved your problem?
– Nishant Saini
Mar 28 at 3:40
add a comment |
Since you want to consider only price, all you need to do is filter the nested documents where key is price. To do this you need to add filter aggregation as below:
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"price":
"filter":
"term":
"metadata.key": "price"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
Since you want to consider only price, all you need to do is filter the nested documents where key is price. To do this you need to add filter aggregation as below:
"aggs":
"metadata":
"nested":
"path": "metadata"
,
"aggs":
"price":
"filter":
"term":
"metadata.key": "price"
,
"aggs":
"prices":
"sum":
"field": "metadata.value"
answered Mar 25 at 3:31
Nishant SainiNishant Saini
3,22211022
3,22211022
@Hoa : Was the answer useful and solved your problem?
– Nishant Saini
Mar 28 at 3:40
add a comment |
@Hoa : Was the answer useful and solved your problem?
– Nishant Saini
Mar 28 at 3:40
@Hoa : Was the answer useful and solved your problem?
– Nishant Saini
Mar 28 at 3:40
@Hoa : Was the answer useful and solved your problem?
– Nishant Saini
Mar 28 at 3:40
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55330061%2fin-elasticsearch-how-do-i-perform-a-nested-sum-query-with-a-filter%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown