-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Description
Elasticsearch version (bin/elasticsearch --version): ES Cloud 7.5
Plugins installed: []
JVM version (java -version): ES Cloud
OS version (uname -a if on a Unix-like system): ES Cloud
Disclaimer:
I'm creating this issue as requested by @spinscale in order to figure out if this is a bug or at least needs an update in the docs to properly mention why this doesn't work.
Description of the problem including expected versus actual behavior:
I'm trying to collapse on a field named field1 across different indexes. All indexes but one have the same field field1 and one index has a different field named field2. So, in that latter index, I'm defining an alias field field1 which points to field2. My hope is to be able to collapse on field1 across all indexes, but apparently this doesn't work.
Steps to reproduce:
Here is how to simply reproduce the problem I'm facing. First, we create two indexes:
PUT index1
{
"settings": {
"index.number_of_shards": 1
},
"mappings": {
"properties": {
"field1": {
"type": "keyword"
}
}
}
}
PUT index2
{
"settings": {
"index.number_of_shards": 1
},
"mappings": {
"properties": {
"field2": {
"type": "keyword"
},
"field1": {
"type": "alias",
"path": "field2"
}
}
}
}
Then we index one document in each index
PUT index1/_doc/1
{
"field1": "test1"
}
PUT index2/_doc/1
{
"field2": "test2"
}
And finally I'm trying to collapse on the "common" field
POST index*/_search
{
"collapse": {
"field": "field1",
"inner_hits": {
"name": "hits"
}
}
}
And I get this:
{
"error": {
"root_cause": [],
"type": "search_phase_execution_exception",
"reason": "",
"phase": "fetch",
"grouped": true,
"failed_shards": [],
"caused_by": {
"type": "illegal_argument_exception",
"reason": "collapse field differ across shards [field1] != [field2]"
}
},
"status": 400
}
I could not find anything in the documentation or in Github issues that would explain this. One would think that this is indeed possible, but I might be missing something obvious.
I'd appreciate if anyone could shed some light on this.
Thank you so much!