別のネストされたフィールドを含むネストされたフィールドを持つElasticsearchドキュメントのインデックスを作成しています(フィールドの2ステップツリー)。内部のネストされたフィールドのデータに基づいてドキュメントを照合したいのですが、機能していません。
NestedFilterBuilder は以下のようになります。
"nested" : {
"filter" : {
"or" : {
"filters" : [ {
"term" : {
"event_attribute_value" : "Obama"
}
}, {
"term" : {
"event_attribute_value" : "President"
}
} ]
}
},
"path" : "eventnested.attributes"
}
これは、クエリを生成するために使用しているJavaです
orFilter.add(termFilter("event_attribute_value","president"));
NestedFilterBuilder nestedFilterBuilder = new NestedFilterBuilder("eventnested.attributes", orFilter);
finalFilter.add(nestedFilterBuilder);
インデックスが作成されるマッピング
"eventnested":{
"type" : "nested", "store" : "yes", "index" : "analyzed", "omit_norms" : "true",
"include_in_parent":true,
"properties":{
"event_type":{"type" : "string", "store" : "yes", "index" : "analyzed","omit_norms" : "true"},
"attributes":{
"type" : "nested", "store" : "yes", "index" : "analyzed", "omit_norms" : "true",
"include_in_parent":true,
"properties":{
"event_attribute_name":{"type" : "string", "store" : "yes", "index" : "analyzed","omit_norms" : "true"},
"event_attribute_value":{"type" : "string", "store" : "yes", "index" : "analyzed","omit_norms" : "true"}
}
},
"event_attribute_instance":{"type" : "integer", "store" : "yes", "precision_step" : "0"}
}
}
私が間違って使用しているものはありますか?