0
样品文件如何做嵌套字段源过滤
{
"id" : "video1",
"title" : "Gone with the wind",
"timedTextLines" : [
{
"startTime" : "00:00:02",
"endTime" : "00:00:05",
"textLine" : "Frankly my dear I don't give a damn."
},
{
"startTime" : "00:00:07",
"endTime" : "00:00:09",
"textLine" : " my amazing country."
},
{
"startTime" : "00:00:17",
"endTime" : "00:00:29",
"textLine" : " amazing country."
}
]
}
索引定义而不精机芯源过滤
{
"mappings": {
"video_type": {
"properties": {
"timedTextLines": {
"type": "nested"
}
}
}
}
}
响应。
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0.91737854,
"hits": [
{
"_index": "video_index",
"_type": "video_type",
"_id": "1",
"_score": 0.91737854,
"_source": {
},
"inner_hits": {
"timedTextLines": {
"hits": {
"total": 1,
"max_score": 0.6296964,
"hits": [
{
"_nested": {
"field": "timedTextLines",
"offset": 0
},
"_score": 0.6296964,
"_source": {
"startTime": "00:00:02",
"endTime": "00:00:05",
"textLine": "Frankly my dear I don't give a damn."
},
"highlight": {
"timedTextLines.textLine": [
"Frankly my dear I don't give a <em>damn</em>."
]
}
}
]
}
}
}
}
]
}
}
响应包含嵌套属性的所有属性。即startTime,endTime和textLine。我如何才能在响应中返回endtime和startTime?
失败查询
{
"query": {
"bool": {
"should": [
{
"match": {
"title": "gone"
}
},
{
"nested": {
"path": "timedTextLines",
"query": {
"match": {
"timedTextLines.textLine": "damn"
}
},
"inner_hits": {
"_source":["startTime","endTime"],
"highlight": {
"fields": {
"timedTextLines.textLine": {
}
}
}
}
}
}
]
}
},
"_source":"false"
}
错误 HTTP/1.1 400错误的请求 内容类型:application/JSON;字符集= UTF-8 内容长度:265
{ “错误”:{ “ROOT_CAUSE”:[{ “类型”: “illegal_argument_exception”, “理由”:“[inner_hits] _source不支持以下类型的值:START_ARRAY“}],”type“:”illegal_argument_exception“,”reason“:”[inner_hits] _source不支持类型值:START_ARRAY“},”status“:400}