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

          SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

          용인 삼성생명 블루밍스 목차 통계 역대 감독 선수단 응원단 경기장 같이 보기 외부 링크 둘러보기 메뉴samsungblueminx.comeh선수 명단용인 삼성생명 블루밍스용인 삼성생명 블루밍스ehsamsungblueminx.comeheheheh

          155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해