Re: nested aggregation against key value pairs

2014-10-27 Thread Jay Hilden
Here is some sample data:

PUT index1

PUT index1/type1/_mapping
{
  type1: {
properties: {
  kvp: {
type: nested,
properties: {
  key: {
type: string
  },
  value: {
type: string
  }
}
  }
}
  }
}

POST index1/type1
{
  kvp: [
{
  key: key1,
  value: value1
}  
  ]
}

POST index1/type1
{
  kvp: [
{
  key: key1,
  value: value1
},
{
  key: key1,
  value: value2
},
{
  key: key2,
  value: value1
},
{
  key: key2,
  value: value2
}
  ]
}

The result I'd like combines the fields kvp.key and kvp.value:
key1 - value1: DocCount = 2
key1 - value2: DocCount = 1
key2 - value2: DocCount = 1

I'm starting to think that I need to re-index the data and combine the 
kvp.key and kvp.value fields into a single field so that I can 
aggregate on it.

On Friday, October 24, 2014 2:17:04 PM UTC-5, Jay Hilden wrote:

 I have an ES type with a nested KeyValuePair type.  What I'm trying to do 
 is a terms aggregation on both the key and value fields such that I'd get 
 the following results:

 Key1 - Value1: DocCount = 10
 Key1 - Value2: DocCount = 9
 Key2 - Value3: DocCount = 4

 Here is my mapping:
 {
 index123 : {
 mappings : {
 type123 : {
 properties : {
 authEventID : {
 type : long
 },
 authInput : {
 properties : {
 uIDExtensionFields : {
 type : nested,
 properties : {
 key : {
 type : string
 },
 value : {
 type : string
 }
 }
 }
 }
 }
 }
 }
 }
 }
 }

 Is there a way to do this?

 Thank you.


-- 
You received this message because you are subscribed to the Google Groups 
elasticsearch group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/d9db4ea8-68af-4cc5-a6dc-876f218b58f7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: nested aggregation against key value pairs

2014-10-27 Thread Adrien Grand
Hi Jay,

Reindexing and having a key that combines the key and value fields would
certainly be the fastest option.


On Mon, Oct 27, 2014 at 1:52 PM, Jay Hilden jay.hil...@gmail.com wrote:

 Here is some sample data:

 PUT index1

 PUT index1/type1/_mapping
 {
   type1: {
 properties: {
   kvp: {
 type: nested,
 properties: {
   key: {
 type: string
   },
   value: {
 type: string
   }
 }
   }
 }
   }
 }

 POST index1/type1
 {
   kvp: [
 {
   key: key1,
   value: value1
 }
   ]
 }

 POST index1/type1
 {
   kvp: [
 {
   key: key1,
   value: value1
 },
 {
   key: key1,
   value: value2
 },
 {
   key: key2,
   value: value1
 },
 {
   key: key2,
   value: value2
 }
   ]
 }

 The result I'd like combines the fields kvp.key and kvp.value:
 key1 - value1: DocCount = 2
 key1 - value2: DocCount = 1
 key2 - value2: DocCount = 1

 I'm starting to think that I need to re-index the data and combine the
 kvp.key and kvp.value fields into a single field so that I can
 aggregate on it.

 On Friday, October 24, 2014 2:17:04 PM UTC-5, Jay Hilden wrote:

 I have an ES type with a nested KeyValuePair type.  What I'm trying to do
 is a terms aggregation on both the key and value fields such that I'd get
 the following results:

 Key1 - Value1: DocCount = 10
 Key1 - Value2: DocCount = 9
 Key2 - Value3: DocCount = 4

 Here is my mapping:
 {
 index123 : {
 mappings : {
 type123 : {
 properties : {
 authEventID : {
 type : long
 },
 authInput : {
 properties : {
 uIDExtensionFields : {
 type : nested,
 properties : {
 key : {
 type : string
 },
 value : {
 type : string
 }
 }
 }
 }
 }
 }
 }
 }
 }
 }

 Is there a way to do this?

 Thank you.

  --
 You received this message because you are subscribed to the Google Groups
 elasticsearch group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to elasticsearch+unsubscr...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/elasticsearch/d9db4ea8-68af-4cc5-a6dc-876f218b58f7%40googlegroups.com
 https://groups.google.com/d/msgid/elasticsearch/d9db4ea8-68af-4cc5-a6dc-876f218b58f7%40googlegroups.com?utm_medium=emailutm_source=footer
 .

 For more options, visit https://groups.google.com/d/optout.




-- 
Adrien Grand

-- 
You received this message because you are subscribed to the Google Groups 
elasticsearch group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAL6Z4j7j2Shpz1G7GhpFA5Oqy8ReCWTHrF_D3QJPNjsHQGMcQw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: nested aggregation against key value pairs

2014-10-27 Thread Jay Hilden
Thanks Adrien.

On Mon, Oct 27, 2014 at 12:12 PM, Adrien Grand 
adrien.gr...@elasticsearch.com wrote:

 Hi Jay,

 Reindexing and having a key that combines the key and value fields would
 certainly be the fastest option.


 On Mon, Oct 27, 2014 at 1:52 PM, Jay Hilden jay.hil...@gmail.com wrote:

 Here is some sample data:

 PUT index1

 PUT index1/type1/_mapping
 {
   type1: {
 properties: {
   kvp: {
 type: nested,
 properties: {
   key: {
 type: string
   },
   value: {
 type: string
   }
 }
   }
 }
   }
 }

 POST index1/type1
 {
   kvp: [
 {
   key: key1,
   value: value1
 }
   ]
 }

 POST index1/type1
 {
   kvp: [
 {
   key: key1,
   value: value1
 },
 {
   key: key1,
   value: value2
 },
 {
   key: key2,
   value: value1
 },
 {
   key: key2,
   value: value2
 }
   ]
 }

 The result I'd like combines the fields kvp.key and kvp.value:
 key1 - value1: DocCount = 2
 key1 - value2: DocCount = 1
 key2 - value2: DocCount = 1

 I'm starting to think that I need to re-index the data and combine the
 kvp.key and kvp.value fields into a single field so that I can
 aggregate on it.

 On Friday, October 24, 2014 2:17:04 PM UTC-5, Jay Hilden wrote:

 I have an ES type with a nested KeyValuePair type.  What I'm trying to
 do is a terms aggregation on both the key and value fields such that I'd
 get the following results:

 Key1 - Value1: DocCount = 10
 Key1 - Value2: DocCount = 9
 Key2 - Value3: DocCount = 4

 Here is my mapping:
 {
 index123 : {
 mappings : {
 type123 : {
 properties : {
 authEventID : {
 type : long
 },
 authInput : {
 properties : {
 uIDExtensionFields : {
 type : nested,
 properties : {
 key : {
 type : string
 },
 value : {
 type : string
 }
 }
 }
 }
 }
 }
 }
 }
 }
 }

 Is there a way to do this?

 Thank you.

  --
 You received this message because you are subscribed to the Google Groups
 elasticsearch group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to elasticsearch+unsubscr...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/elasticsearch/d9db4ea8-68af-4cc5-a6dc-876f218b58f7%40googlegroups.com
 https://groups.google.com/d/msgid/elasticsearch/d9db4ea8-68af-4cc5-a6dc-876f218b58f7%40googlegroups.com?utm_medium=emailutm_source=footer
 .

 For more options, visit https://groups.google.com/d/optout.




 --
 Adrien Grand

 --
 You received this message because you are subscribed to a topic in the
 Google Groups elasticsearch group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/elasticsearch/NJRzaH6FUfY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 elasticsearch+unsubscr...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/elasticsearch/CAL6Z4j7j2Shpz1G7GhpFA5Oqy8ReCWTHrF_D3QJPNjsHQGMcQw%40mail.gmail.com
 https://groups.google.com/d/msgid/elasticsearch/CAL6Z4j7j2Shpz1G7GhpFA5Oqy8ReCWTHrF_D3QJPNjsHQGMcQw%40mail.gmail.com?utm_medium=emailutm_source=footer
 .

 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
elasticsearch group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAD3qxy53ggTWrK4taryaLe7jPu%3DSPJMNeUzbnzbO%2B%3D_EzbdTBQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


nested aggregation against key value pairs

2014-10-24 Thread Jay Hilden
I have an ES type with a nested KeyValuePair type.  What I'm trying to do 
is a terms aggregation on both the key and value fields such that I'd get 
the following results:

Key1 - Value1: DocCount = 10
Key1 - Value2: DocCount = 9
Key2 - Value3: DocCount = 4

Here is my mapping:
{
index123 : {
mappings : {
type123 : {
properties : {
authEventID : {
type : long
},
authInput : {
properties : {
uIDExtensionFields : {
type : nested,
properties : {
key : {
type : string
},
value : {
type : string
}
}
}
}
}
}
}
}
}
}

Is there a way to do this?

Thank you.

-- 
You received this message because you are subscribed to the Google Groups 
elasticsearch group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/c8c637c0-3933-4b1b-ad32-0c8bfe9485bd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: nested aggregation against key value pairs

2014-10-24 Thread Zennet Wheatcroft
Have you tried the usual sub-aggregations? It looks like it should do 
exactly what you want. If so, why does that not work? Can you include some 
sample data and queries you have tried so that we can index it and try your 
queries?

Bucketing aggregations can have sub-aggregations (bucketing or metric). 
The sub-aggregations will be computed for the buckets which their parent 
aggregation generates.
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations.html


On Friday, October 24, 2014 12:17:04 PM UTC-7, Jay Hilden wrote:

 I have an ES type with a nested KeyValuePair type.  What I'm trying to do 
 is a terms aggregation on both the key and value fields such that I'd get 
 the following results:

 Key1 - Value1: DocCount = 10
 Key1 - Value2: DocCount = 9
 Key2 - Value3: DocCount = 4

 Here is my mapping:
 {
 index123 : {
 mappings : {
 type123 : {
 properties : {
 authEventID : {
 type : long
 },
 authInput : {
 properties : {
 uIDExtensionFields : {
 type : nested,
 properties : {
 key : {
 type : string
 },
 value : {
 type : string
 }
 }
 }
 }
 }
 }
 }
 }
 }
 }

 Is there a way to do this?

 Thank you.


-- 
You received this message because you are subscribed to the Google Groups 
elasticsearch group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/5415a7f5-31ea-4085-af3a-0bbbdc875ea9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.