返されたフィールドをクエリから操作する(たとえば連結する)方法はありますか?elasticsearchの返されたフィールドを操作する
これは私が私のインデックスを作成する方法である:
PUT /megacorp/employee/1
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
そして、これは私がそれを照会する方法です:
GET /megacorp/employee/_search
{
"query": {"match_all": {}}
}
応答はこれです:
すべてが正常に動作しています{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "megacorp",
"_type": "employee",
"_id": "1",
"_score": 1,
"_source": {
"first_name": "John",
"last_name": "Smith",
"age": 25,
"about": "I love to go rock climbing",
"interests": [
"sports",
"music"
]
}
}
]
}
}
。
私が望むのは、_sourceから2つのフィールドを連結し、新しいフィールドとして出力に表示することです。
first_nameとlast_nameは、新しいフィールド "full_name"に結合する必要があります。インデックスに新しいフィールドを作成せずにその方法を理解することはできません。私は "copy_to"を見てきましたが、明示的にマッピングのストアプロパティを設定する必要があり、明示的にクエリの格納フィールドを要求する必要があります。しかし、主な欠点は、両方を行うと、first_nameとlast_nameがコンマで区切られて返されることです。私は素敵な文字列が好きです: "John Smith"