現在、エラスティック検索の使用に問題があります。検索を実行しようとして、返されるフィールドのサブセットのみが必要な場合、フィールドがネストされている場合は、ドット表記を使用してフィールドを指定する必要があります。これは、私のcouchDBドキュメントをマップするマッパーjsonドキュメントのサンプルです:
{
"product": {
"_type": {"store": "yes"},
"_source": {"compress": true},
"index_analyzer": "standard",
"search_analyzer": "standard",
"dynamic_date_formats": ["date_time_no_millis", "date_optional_time"],
"properties": {
"_id": {"type": "string", "store": "yes", "index": "not_analyzed"},
"key": {"type": "string", "store": "yes"},
"content": {
"type": "object",
"path": "just_name",
"properties": {
"key": {"type": "string", "store": "yes"},
"name": {"type": "string", "store": "yes", "index_name": "name"},
"description": {"type": "string", "store": "yes", "index_name": "description"},
"brand": {
"type": "object",
"index_name": "brand",
"properties": {
"abbreviation": {"type": "string", "store": "yes", "index_name": "brand_abbreviation"},
"name": {"type": "string", "store": "yes", "index_name": "brand_name"}
}
}
}
}
}
}
}
_id への参照は単純な _id になりますが、コンテンツ内の名前を参照したい場合は、それを content.name として参照する必要があります。これに関する問題は、検索出力が出力されると、json 出力にフィールド名が「content.name」として含まれることです。
これを「コンテンツ」なしで「名前」に名前を変更することは可能ですか。プレフィックス?ご覧のとおり、index_name を指定しようとしましたが、役に立たないようでした。