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!