Search on aggregated list of integers ElasticsearchSolr vs. ElasticSearchShow all Elasticsearch aggregation results/buckets and not just 10How to highlight nested fields in ElasticsearchFiltering nested aggregations in ElasticSearchWeighted random sampling in ElasticsearchElasticSearch: Metric aggregation and doc values / field-dataElasticsearch stats aggregation group by date on timeseriesuse maximum value of nested array for sum aggregation in elasticsearchElasticsearch aggregate to show data in two waysSum and count aggregations over Elasticsearch fields

How do you build a Dominant 7th chord?

Are the definite and indefinite integrals actually two different things? Where is the flaw in my understanding?

Creating a Master Image to roll out to 30 new Machines Licensing Issues

What's the biggest organic molecule that could have a smell?

Is there a star over my head?

I asked for a graduate student position from a professor. He replied "welcome". What does that mean?

How can a PC determine what planes a Cubic Gate is linked to?

A Little Riddle

My employer wants me to do a work of 6 months in just 2 months

Writing a love interest for my hero

extract lines from bottom until regex match

Can I disable a battery powered device by reversing half of its batteries?

Action queue manager to perform action in a FIFO fashion

Do Milankovitch Cycles fully explain climate change?

Is English tonal for some words, like "permit"?

Do ibuprofen or paracetamol cause hearing loss?

How can I maximize the impact of my charitable donations?

Why is the T-1000 humanoid?

Are scroll bars dead in 2019?

Is it possible to PIVOT on a LIKE statement

What is the standard practice in Constraint Programming modeling?

Relevance of the Resurrection

How do I improve my SXA sites Google PageSpeed Insights Score?

Does the amount of +1/+1 from *prowess* remain on a creature, even when a creature gets flipped face-down by Ixidron?



Search on aggregated list of integers Elasticsearch


Solr vs. ElasticSearchShow all Elasticsearch aggregation results/buckets and not just 10How to highlight nested fields in ElasticsearchFiltering nested aggregations in ElasticSearchWeighted random sampling in ElasticsearchElasticSearch: Metric aggregation and doc values / field-dataElasticsearch stats aggregation group by date on timeseriesuse maximum value of nested array for sum aggregation in elasticsearchElasticsearch aggregate to show data in two waysSum and count aggregations over Elasticsearch fields






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I'm designing a new Index and have some structures in my data that could possibly cause some trouble for searching.



Given a doc type 'catalog' (to transpose it to a more general setting)



with the following data structure,




"_id": 1,
"categories": [

"category_name": "aaaa",
"nb_items": 6
,

"category_name": "bbbb",
"nb_items": 5

]
,

"_id": 2,
"categories": [

"category_name": "cccc",
"nb_items": 9
,

"category_name": "bbbb",
"nb_items": 2

]



How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ?



Would it be easier with two independant lists categories and nb_items or with such nested documents ?










share|improve this question


























  • Please clarify: How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ? using e.g.

    – Nishant Saini
    Mar 28 at 9:06











  • doc 1 is selected because( 6+5 > 10 and 5 > 4) and doc 2 is not selected because (9+2 > 10 but 2 < 4) My main issue here for my query is how to issue a condition on the sum of "nb_items" in the array

    – Vincent Chalmel
    Mar 28 at 9:38


















0















I'm designing a new Index and have some structures in my data that could possibly cause some trouble for searching.



Given a doc type 'catalog' (to transpose it to a more general setting)



with the following data structure,




"_id": 1,
"categories": [

"category_name": "aaaa",
"nb_items": 6
,

"category_name": "bbbb",
"nb_items": 5

]
,

"_id": 2,
"categories": [

"category_name": "cccc",
"nb_items": 9
,

"category_name": "bbbb",
"nb_items": 2

]



How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ?



Would it be easier with two independant lists categories and nb_items or with such nested documents ?










share|improve this question


























  • Please clarify: How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ? using e.g.

    – Nishant Saini
    Mar 28 at 9:06











  • doc 1 is selected because( 6+5 > 10 and 5 > 4) and doc 2 is not selected because (9+2 > 10 but 2 < 4) My main issue here for my query is how to issue a condition on the sum of "nb_items" in the array

    – Vincent Chalmel
    Mar 28 at 9:38














0












0








0








I'm designing a new Index and have some structures in my data that could possibly cause some trouble for searching.



Given a doc type 'catalog' (to transpose it to a more general setting)



with the following data structure,




"_id": 1,
"categories": [

"category_name": "aaaa",
"nb_items": 6
,

"category_name": "bbbb",
"nb_items": 5

]
,

"_id": 2,
"categories": [

"category_name": "cccc",
"nb_items": 9
,

"category_name": "bbbb",
"nb_items": 2

]



How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ?



Would it be easier with two independant lists categories and nb_items or with such nested documents ?










share|improve this question
















I'm designing a new Index and have some structures in my data that could possibly cause some trouble for searching.



Given a doc type 'catalog' (to transpose it to a more general setting)



with the following data structure,




"_id": 1,
"categories": [

"category_name": "aaaa",
"nb_items": 6
,

"category_name": "bbbb",
"nb_items": 5

]
,

"_id": 2,
"categories": [

"category_name": "cccc",
"nb_items": 9
,

"category_name": "bbbb",
"nb_items": 2

]



How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ?



Would it be easier with two independant lists categories and nb_items or with such nested documents ?







elasticsearch nested aggregation






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 7 at 9:06







Vincent Chalmel

















asked Mar 28 at 8:39









Vincent ChalmelVincent Chalmel

3342 silver badges13 bronze badges




3342 silver badges13 bronze badges















  • Please clarify: How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ? using e.g.

    – Nishant Saini
    Mar 28 at 9:06











  • doc 1 is selected because( 6+5 > 10 and 5 > 4) and doc 2 is not selected because (9+2 > 10 but 2 < 4) My main issue here for my query is how to issue a condition on the sum of "nb_items" in the array

    – Vincent Chalmel
    Mar 28 at 9:38


















  • Please clarify: How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ? using e.g.

    – Nishant Saini
    Mar 28 at 9:06











  • doc 1 is selected because( 6+5 > 10 and 5 > 4) and doc 2 is not selected because (9+2 > 10 but 2 < 4) My main issue here for my query is how to issue a condition on the sum of "nb_items" in the array

    – Vincent Chalmel
    Mar 28 at 9:38

















Please clarify: How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ? using e.g.

– Nishant Saini
Mar 28 at 9:06





Please clarify: How to query a document whose number of items accross all category (sum of nb_items by category_names) is > 10 but nb_items in category bbbb is > 4 to retrieve only the first document ? using e.g.

– Nishant Saini
Mar 28 at 9:06













doc 1 is selected because( 6+5 > 10 and 5 > 4) and doc 2 is not selected because (9+2 > 10 but 2 < 4) My main issue here for my query is how to issue a condition on the sum of "nb_items" in the array

– Vincent Chalmel
Mar 28 at 9:38






doc 1 is selected because( 6+5 > 10 and 5 > 4) and doc 2 is not selected because (9+2 > 10 but 2 < 4) My main issue here for my query is how to issue a condition on the sum of "nb_items" in the array

– Vincent Chalmel
Mar 28 at 9:38













1 Answer
1






active

oldest

votes


















0
















This sould work. You could made the total nb condition with a script in the filter part but it would be really slow.



 
"size": 0,
"query" :
"nested" :
"path" : "categories",
"query" :
"bool" :
"must" : [

"term" : "categories.origin" : "bbbb"
,

"range" : "categories.nb_items" : "gt" : 4

]


,
"aggregations":
"totalnbbydoc":
"terms":
"field": "youriddoc",
"size": 10000
,
"aggregations":
"totalByNested":
"nested":
"path": "categories"
,
"aggregations":
"nbtotal":
"sum":
"field": "categories.nb_items"



,
"paidAmount_filter":
"bucket_selector":
"script":
"inline": "params.totalnbbydoc > 10"
,
"buckets_path":
"totalnbbydoc": "totalByNested>nbtotal"












share|improve this answer


























    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/4.0/"u003ecc by-sa 4.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%2f55393219%2fsearch-on-aggregated-list-of-integers-elasticsearch%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
















    This sould work. You could made the total nb condition with a script in the filter part but it would be really slow.



     
    "size": 0,
    "query" :
    "nested" :
    "path" : "categories",
    "query" :
    "bool" :
    "must" : [

    "term" : "categories.origin" : "bbbb"
    ,

    "range" : "categories.nb_items" : "gt" : 4

    ]


    ,
    "aggregations":
    "totalnbbydoc":
    "terms":
    "field": "youriddoc",
    "size": 10000
    ,
    "aggregations":
    "totalByNested":
    "nested":
    "path": "categories"
    ,
    "aggregations":
    "nbtotal":
    "sum":
    "field": "categories.nb_items"



    ,
    "paidAmount_filter":
    "bucket_selector":
    "script":
    "inline": "params.totalnbbydoc > 10"
    ,
    "buckets_path":
    "totalnbbydoc": "totalByNested>nbtotal"












    share|improve this answer































      0
















      This sould work. You could made the total nb condition with a script in the filter part but it would be really slow.



       
      "size": 0,
      "query" :
      "nested" :
      "path" : "categories",
      "query" :
      "bool" :
      "must" : [

      "term" : "categories.origin" : "bbbb"
      ,

      "range" : "categories.nb_items" : "gt" : 4

      ]


      ,
      "aggregations":
      "totalnbbydoc":
      "terms":
      "field": "youriddoc",
      "size": 10000
      ,
      "aggregations":
      "totalByNested":
      "nested":
      "path": "categories"
      ,
      "aggregations":
      "nbtotal":
      "sum":
      "field": "categories.nb_items"



      ,
      "paidAmount_filter":
      "bucket_selector":
      "script":
      "inline": "params.totalnbbydoc > 10"
      ,
      "buckets_path":
      "totalnbbydoc": "totalByNested>nbtotal"












      share|improve this answer





























        0














        0










        0









        This sould work. You could made the total nb condition with a script in the filter part but it would be really slow.



         
        "size": 0,
        "query" :
        "nested" :
        "path" : "categories",
        "query" :
        "bool" :
        "must" : [

        "term" : "categories.origin" : "bbbb"
        ,

        "range" : "categories.nb_items" : "gt" : 4

        ]


        ,
        "aggregations":
        "totalnbbydoc":
        "terms":
        "field": "youriddoc",
        "size": 10000
        ,
        "aggregations":
        "totalByNested":
        "nested":
        "path": "categories"
        ,
        "aggregations":
        "nbtotal":
        "sum":
        "field": "categories.nb_items"



        ,
        "paidAmount_filter":
        "bucket_selector":
        "script":
        "inline": "params.totalnbbydoc > 10"
        ,
        "buckets_path":
        "totalnbbydoc": "totalByNested>nbtotal"












        share|improve this answer















        This sould work. You could made the total nb condition with a script in the filter part but it would be really slow.



         
        "size": 0,
        "query" :
        "nested" :
        "path" : "categories",
        "query" :
        "bool" :
        "must" : [

        "term" : "categories.origin" : "bbbb"
        ,

        "range" : "categories.nb_items" : "gt" : 4

        ]


        ,
        "aggregations":
        "totalnbbydoc":
        "terms":
        "field": "youriddoc",
        "size": 10000
        ,
        "aggregations":
        "totalByNested":
        "nested":
        "path": "categories"
        ,
        "aggregations":
        "nbtotal":
        "sum":
        "field": "categories.nb_items"



        ,
        "paidAmount_filter":
        "bucket_selector":
        "script":
        "inline": "params.totalnbbydoc > 10"
        ,
        "buckets_path":
        "totalnbbydoc": "totalByNested>nbtotal"













        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 28 at 11:01

























        answered Mar 28 at 10:31









        LeBigCatLeBigCat

        7114 silver badges12 bronze badges




        7114 silver badges12 bronze badges





















            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.




















            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%2f55393219%2fsearch-on-aggregated-list-of-integers-elasticsearch%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

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

            Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript