mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[Maps] Fix threshold alert issue resolving nested fields (#83577)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
085698ed62
commit
982639fc2a
4 changed files with 214 additions and 44 deletions
|
@ -38,7 +38,7 @@ export function transformResults(
|
|||
return _.map(subBuckets, (subBucket) => {
|
||||
const locationFieldResult = _.get(
|
||||
subBucket,
|
||||
`entityHits.hits.hits[0].fields.${geoField}[0]`,
|
||||
`entityHits.hits.hits[0].fields["${geoField}"][0]`,
|
||||
''
|
||||
);
|
||||
const location = locationFieldResult
|
||||
|
@ -50,7 +50,7 @@ export function transformResults(
|
|||
: null;
|
||||
const dateInShape = _.get(
|
||||
subBucket,
|
||||
`entityHits.hits.hits[0].fields.${dateField}[0]`,
|
||||
`entityHits.hits.hits[0].fields["${dateField}"][0]`,
|
||||
null
|
||||
);
|
||||
const docId = _.get(subBucket, `entityHits.hits.hits[0]._id`);
|
||||
|
|
|
@ -13,48 +13,7 @@
|
|||
"relation" : "gte"
|
||||
},
|
||||
"max_score" : 0.0,
|
||||
"hits" : [
|
||||
{
|
||||
"_index" : "flight_tracks",
|
||||
"_id" : "XOng1XQB6yyY-xQxbwWM",
|
||||
"_score" : 0.0,
|
||||
"fields" : {
|
||||
"@timestamp" : [
|
||||
"2020-09-28T18:01:29.580Z"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"_index" : "flight_tracks",
|
||||
"_id" : "Xeng1XQB6yyY-xQxbwWM",
|
||||
"_score" : 0.0,
|
||||
"fields" : {
|
||||
"@timestamp" : [
|
||||
"2020-09-28T18:01:29.580Z"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"_index" : "flight_tracks",
|
||||
"_id" : "Xung1XQB6yyY-xQxbwWM",
|
||||
"_score" : 0.0,
|
||||
"fields" : {
|
||||
"@timestamp" : [
|
||||
"2020-09-28T18:01:29.580Z"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"_index" : "flight_tracks",
|
||||
"_id" : "UOjg1XQB6yyY-xQxZvMz",
|
||||
"_score" : 0.0,
|
||||
"fields" : {
|
||||
"@timestamp" : [
|
||||
"2020-09-28T18:01:27.266Z"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
"hits" : []
|
||||
},
|
||||
"aggregations" : {
|
||||
"shapes" : {
|
||||
|
|
|
@ -0,0 +1,170 @@
|
|||
{
|
||||
"took" : 2760,
|
||||
"timed_out" : false,
|
||||
"_shards" : {
|
||||
"total" : 1,
|
||||
"successful" : 1,
|
||||
"skipped" : 0,
|
||||
"failed" : 0
|
||||
},
|
||||
"hits" : {
|
||||
"total" : {
|
||||
"value" : 10000,
|
||||
"relation" : "gte"
|
||||
},
|
||||
"max_score" : 0.0,
|
||||
"hits" : []
|
||||
},
|
||||
"aggregations" : {
|
||||
"shapes" : {
|
||||
"meta" : { },
|
||||
"buckets" : {
|
||||
"0DrJu3QB6yyY-xQxv6Ip" : {
|
||||
"doc_count" : 1047,
|
||||
"entitySplit" : {
|
||||
"doc_count_error_upper_bound" : 0,
|
||||
"sum_other_doc_count" : 957,
|
||||
"buckets" : [
|
||||
{
|
||||
"key" : "936",
|
||||
"doc_count" : 9,
|
||||
"entityHits" : {
|
||||
"hits" : {
|
||||
"total" : {
|
||||
"value" : 9,
|
||||
"relation" : "eq"
|
||||
},
|
||||
"max_score" : null,
|
||||
"hits" : [
|
||||
{
|
||||
"_index" : "flight_tracks",
|
||||
"_id" : "N-ng1XQB6yyY-xQxnGSM",
|
||||
"_score" : null,
|
||||
"fields" : {
|
||||
"time_data.@timestamp" : [
|
||||
"2020-09-28T18:01:41.190Z"
|
||||
],
|
||||
"geo.coords.location" : [
|
||||
"40.62806099653244, -82.8814151789993"
|
||||
],
|
||||
"entity_id" : [
|
||||
"936"
|
||||
]
|
||||
},
|
||||
"sort" : [
|
||||
1601316101190
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key" : "AAL2019",
|
||||
"doc_count" : 9,
|
||||
"entityHits" : {
|
||||
"hits" : {
|
||||
"total" : {
|
||||
"value" : 9,
|
||||
"relation" : "eq"
|
||||
},
|
||||
"max_score" : null,
|
||||
"hits" : [
|
||||
{
|
||||
"_index" : "flight_tracks",
|
||||
"_id" : "iOng1XQB6yyY-xQxnGSM",
|
||||
"_score" : null,
|
||||
"fields" : {
|
||||
"time_data.@timestamp" : [
|
||||
"2020-09-28T18:01:41.191Z"
|
||||
],
|
||||
"geo.coords.location" : [
|
||||
"39.006176185794175, -82.22068064846098"
|
||||
],
|
||||
"entity_id" : [
|
||||
"AAL2019"
|
||||
]
|
||||
},
|
||||
"sort" : [
|
||||
1601316101191
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key" : "AAL2323",
|
||||
"doc_count" : 9,
|
||||
"entityHits" : {
|
||||
"hits" : {
|
||||
"total" : {
|
||||
"value" : 9,
|
||||
"relation" : "eq"
|
||||
},
|
||||
"max_score" : null,
|
||||
"hits" : [
|
||||
{
|
||||
"_index" : "flight_tracks",
|
||||
"_id" : "n-ng1XQB6yyY-xQxnGSM",
|
||||
"_score" : null,
|
||||
"fields" : {
|
||||
"time_data.@timestamp" : [
|
||||
"2020-09-28T18:01:41.191Z"
|
||||
],
|
||||
"geo.coords.location" : [
|
||||
"41.6677269525826, -84.71324851736426"
|
||||
],
|
||||
"entity_id" : [
|
||||
"AAL2323"
|
||||
]
|
||||
},
|
||||
"sort" : [
|
||||
1601316101191
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key" : "ABD5250",
|
||||
"doc_count" : 9,
|
||||
"entityHits" : {
|
||||
"hits" : {
|
||||
"total" : {
|
||||
"value" : 9,
|
||||
"relation" : "eq"
|
||||
},
|
||||
"max_score" : null,
|
||||
"hits" : [
|
||||
{
|
||||
"_index" : "flight_tracks",
|
||||
"_id" : "GOng1XQB6yyY-xQxnGWM",
|
||||
"_score" : null,
|
||||
"fields" : {
|
||||
"time_data.@timestamp" : [
|
||||
"2020-09-28T18:01:41.192Z"
|
||||
],
|
||||
"geo.coords.location" : [
|
||||
"39.07997465226799, 6.073727197945118"
|
||||
],
|
||||
"entity_id" : [
|
||||
"ABD5250"
|
||||
]
|
||||
},
|
||||
"sort" : [
|
||||
1601316101192
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
import sampleJsonResponse from './es_sample_response.json';
|
||||
import sampleJsonResponseWithNesting from './es_sample_response_with_nesting.json';
|
||||
import { getMovedEntities, transformResults } from '../geo_threshold';
|
||||
import { OTHER_CATEGORY } from '../es_query_builder';
|
||||
import { SearchResponse } from 'elasticsearch';
|
||||
|
@ -51,6 +52,46 @@ describe('geo_threshold', () => {
|
|||
]);
|
||||
});
|
||||
|
||||
const nestedDateField = 'time_data.@timestamp';
|
||||
const nestedGeoField = 'geo.coords.location';
|
||||
it('should correctly transform expected results if fields are nested', async () => {
|
||||
const transformedResults = transformResults(
|
||||
(sampleJsonResponseWithNesting as unknown) as SearchResponse<unknown>,
|
||||
nestedDateField,
|
||||
nestedGeoField
|
||||
);
|
||||
expect(transformedResults).toEqual([
|
||||
{
|
||||
dateInShape: '2020-09-28T18:01:41.190Z',
|
||||
docId: 'N-ng1XQB6yyY-xQxnGSM',
|
||||
entityName: '936',
|
||||
location: [-82.8814151789993, 40.62806099653244],
|
||||
shapeLocationId: '0DrJu3QB6yyY-xQxv6Ip',
|
||||
},
|
||||
{
|
||||
dateInShape: '2020-09-28T18:01:41.191Z',
|
||||
docId: 'iOng1XQB6yyY-xQxnGSM',
|
||||
entityName: 'AAL2019',
|
||||
location: [-82.22068064846098, 39.006176185794175],
|
||||
shapeLocationId: '0DrJu3QB6yyY-xQxv6Ip',
|
||||
},
|
||||
{
|
||||
dateInShape: '2020-09-28T18:01:41.191Z',
|
||||
docId: 'n-ng1XQB6yyY-xQxnGSM',
|
||||
entityName: 'AAL2323',
|
||||
location: [-84.71324851736426, 41.6677269525826],
|
||||
shapeLocationId: '0DrJu3QB6yyY-xQxv6Ip',
|
||||
},
|
||||
{
|
||||
dateInShape: '2020-09-28T18:01:41.192Z',
|
||||
docId: 'GOng1XQB6yyY-xQxnGWM',
|
||||
entityName: 'ABD5250',
|
||||
location: [6.073727197945118, 39.07997465226799],
|
||||
shapeLocationId: '0DrJu3QB6yyY-xQxv6Ip',
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
it('should return an empty array if no results', async () => {
|
||||
const transformedResults = transformResults(undefined, dateField, geoField);
|
||||
expect(transformedResults).toEqual([]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue