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;








0















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?










share|improve this question




























    0















    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?










    share|improve this question
























      0












      0








      0








      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?










      share|improve this question














      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?







      elasticsearch






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 25 at 0:58









      HoaHoa

      7,793225681




      7,793225681






















          1 Answer
          1






          active

          oldest

          votes


















          0














          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"













          share|improve this answer























          • @Hoa : Was the answer useful and solved your problem?

            – Nishant Saini
            Mar 28 at 3:40











          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
          );



          );













          draft saved

          draft discarded


















          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









          0














          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"













          share|improve this answer























          • @Hoa : Was the answer useful and solved your problem?

            – Nishant Saini
            Mar 28 at 3:40















          0














          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"













          share|improve this answer























          • @Hoa : Was the answer useful and solved your problem?

            – Nishant Saini
            Mar 28 at 3:40













          0












          0








          0







          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"













          share|improve this answer













          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"














          share|improve this answer












          share|improve this answer



          share|improve this answer










          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

















          • @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

















          draft saved

          draft discarded
















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          Obelisk of Theodosius Contents History Description Notes Bibliography Further reading External links Navigation menuAge of spirituality : late antique and early Christian art, third to seventh centuryOver 60 picturesObelisks of the World41°00′21.24″N 28°58′31.43″E / 41.0059000°N 28.9753972°E / 41.0059000; 28.97539727724550-7235741376235741376

          밀양 대씨 역사 각주 함께 보기 둘러보기 메뉴밀양 대씨

          1973년 목차 사건 문화 탄생 사망 노벨상 달력 둘러보기 메뉴