Elasticsearch Aggregation wandelt Ergebnisse in Kleinbuchstaben um

Ich habe ein wenig mit ElasticSearch gespielt und beim Ausführen von Aggregationen ein Problem festgestellt.

Ich habe zwei Endpunkte,/EI und / B. Im ersten habe ich Eltern für den zweiten. Ein oder mehrere Objekte in B müssen also zu einem Objekt in A gehören. Daher haben Objekte in B das Attribut "parentId" mit dem von ElasticSearch generierten übergeordneten Index.

Ich möchte Eltern in A nach Kinderattributen von B filtern. Dazu filtere ich Kinder in B zuerst nach Attributen und erhalte die eindeutigen Eltern-IDs, die ich später verwenden werde, um Eltern zu ermitteln.

Ich sende diese Anfrage:

POST http://localhost:9200/test/B/_search
{
    "query": {
        "query_string": {
            "default_field": "name",
            "query": "derp2*"
        }
    },
    "aggregations": {
        "ids": {
            "terms": {
                "field": "parentId"
            }
        }
    }
}

Und bekomme diese Antwort:

{
  "took": 91,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 3,
    "max_score": 1,
    "hits": [
      {
        "_index": "test",
        "_type": "child",
        "_id": "AU_fjH5u40Hx1Kh6rfQG",
        "_score": 1,
        "_source": {
          "parentId": "AU_ffvwM40Hx1Kh6rfQA",
          "name": "derp2child2"
        }
      },
      {
        "_index": "test",
        "_type": "child",
        "_id": "AU_fjD_U40Hx1Kh6rfQF",
        "_score": 1,
        "_source": {
          "parentId": "AU_ffvwM40Hx1Kh6rfQA",
          "name": "derp2child1"
        }
      },
      {
        "_index": "test",
        "_type": "child",
        "_id": "AU_fjKqf40Hx1Kh6rfQH",
        "_score": 1,
        "_source": {
          "parentId": "AU_ffvwM40Hx1Kh6rfQA",
          "name": "derp2child3"
        }
      }
    ]
  },
  "aggregations": {
    "ids": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 0,
      "buckets": [
        {
          "key": "au_ffvwm40hx1kh6rfqa",
          "doc_count": 3
        }
      ]
    }
  }
}

Aus irgendeinem Grund wird der gefilterte Schlüssel in Kleinbuchstaben zurückgegeben und kann daher ElasticSearch @ nicht als übergeordnetes Element anforder

GET http://localhost:9200/test/A/au_ffvwm40hx1kh6rfqa

Response:
{
  "_index": "test",
  "_type": "A",
  "_id": "au_ffvwm40hx1kh6rfqa",
  "found": false
}

Irgendwelche Ideen, warum das passiert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage