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;
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
add a comment |
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
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
add a comment |
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
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
elasticsearch nested aggregation
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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"
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/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
);
);
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%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
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"
add a comment |
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"
add a comment |
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"
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"
edited Mar 28 at 11:01
answered Mar 28 at 10:31
LeBigCatLeBigCat
7114 silver badges12 bronze badges
7114 silver badges12 bronze badges
add a comment |
add a comment |
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.
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%2f55393219%2fsearch-on-aggregated-list-of-integers-elasticsearch%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
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