ElasticSearchのネストされたオブジェクトを検索しようとしています。ElasticSearchがネストされたオブジェクトを照会することが期待通りに機能しない
私は、次のコマンドを実行します -
POST /demo/person/1
{
"children": [{
"fullName" : "Bob Smith",
"gender": "M"
}]
}
ユーザー文書を追加インデックスおよびマッピング
PUT /demo
{
"mappings": {
"person": {
"properties": {
"children": {
"type": "nested",
"properties": {
"fullName": {
"type": "string"
},
"gender": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
を作成して期待通りにこれらのすべての実行されます。しかし、私がdocumentationに概説されているようにそれらを検索すると、何の結果も得られません。
クエリ
POST /demo/person/_search
{
"query": {
"bool": {
"must": [{
"match_all": {}
},
{
"nested": {
"path": "children",
"query": {
"bool": {
"must": [{
"match": {
"fullName": "Bob Smith"
}
}]
}
}
}
}]
}
}
}
私が間違って何をしているのですか?
あなたはfullNameでマシニングしていますが、このフィールドはLucene内にchildren.fullNameとして保存されています。 children.fullName :)に変更してください。 –
@WaldemarNeto - ありがとうございました。 – baynezy