[ML] Fixes recognizer job wizard to use dedicated index setting (#25706)

This commit is contained in:
Pete Harverson 2018-11-15 14:40:41 +00:00 committed by GitHub
parent bdf420627a
commit 1a3f0cac4b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 4 deletions

View file

@ -122,7 +122,8 @@ module
query, query,
filters: [], filters: [],
useFullIndexData: true, useFullIndexData: true,
startDatafeedAfterSave: true startDatafeedAfterSave: true,
useDedicatedIndex: false,
}; };
$scope.resultsUrl = ''; $scope.resultsUrl = '';
@ -250,10 +251,11 @@ module
const prefix = $scope.formConfig.jobLabel; const prefix = $scope.formConfig.jobLabel;
const indexPatternName = $scope.formConfig.indexPattern.title; const indexPatternName = $scope.formConfig.indexPattern.title;
const groups = $scope.formConfig.jobGroups; const groups = $scope.formConfig.jobGroups;
const useDedicatedIndex = $scope.formConfig.useDedicatedIndex;
const tempQuery = (savedSearch.id === undefined) ? const tempQuery = (savedSearch.id === undefined) ?
undefined : combinedQuery; undefined : combinedQuery;
ml.setupDataRecognizerConfig({ moduleId, prefix, groups, query: tempQuery, indexPatternName }) ml.setupDataRecognizerConfig({ moduleId, prefix, groups, query: tempQuery, indexPatternName, useDedicatedIndex })
.then((resp) => { .then((resp) => {
if (resp.jobs) { if (resp.jobs) {
$scope.formConfig.jobs.forEach((job) => { $scope.formConfig.jobs.forEach((job) => {

View file

@ -258,7 +258,8 @@ export const ml = {
'prefix', 'prefix',
'groups', 'groups',
'indexPatternName', 'indexPatternName',
'query' 'query',
'useDedicatedIndex'
]); ]);
return http({ return http({

View file

@ -197,6 +197,7 @@ export class DataRecognizer {
groups, groups,
indexPatternName, indexPatternName,
query, query,
useDedicatedIndex,
startDatafeed, startDatafeed,
start, start,
end, end,
@ -234,6 +235,11 @@ export class DataRecognizer {
// update groups list for each job // update groups list for each job
moduleConfig.jobs.forEach(job => job.config.groups = groups); moduleConfig.jobs.forEach(job => job.config.groups = groups);
} }
// Set the results_index_name property for each job if useDedicatedIndex is true
if (useDedicatedIndex === true) {
moduleConfig.jobs.forEach(job => job.config.results_index_name = job.id);
}
saveResults.jobs = await this.saveJobs(moduleConfig.jobs); saveResults.jobs = await this.saveJobs(moduleConfig.jobs);
} }
@ -361,7 +367,7 @@ export class DataRecognizer {
// save the savedObjects if they do not exist already // save the savedObjects if they do not exist already
async saveKibanaObjects(objectExistResults) { async saveKibanaObjects(objectExistResults) {
let results = []; let results = { saved_objects: [] };
const filteredSavedObjects = objectExistResults.filter(o => o.exists === false).map(o => o.savedObject); const filteredSavedObjects = objectExistResults.filter(o => o.exists === false).map(o => o.savedObject);
if (filteredSavedObjects.length) { if (filteredSavedObjects.length) {
results = await this.savedObjectsClient.bulkCreate(filteredSavedObjects); results = await this.savedObjectsClient.bulkCreate(filteredSavedObjects);

View file

@ -28,6 +28,7 @@ function saveModuleItems(
groups, groups,
indexPatternName, indexPatternName,
query, query,
useDedicatedIndex,
startDatafeed, startDatafeed,
start, start,
end, end,
@ -40,6 +41,7 @@ function saveModuleItems(
groups, groups,
indexPatternName, indexPatternName,
query, query,
useDedicatedIndex,
startDatafeed, startDatafeed,
start, start,
end, end,
@ -88,6 +90,7 @@ export function dataRecognizer(server, commonRouteConfig) {
groups, groups,
indexPatternName, indexPatternName,
query, query,
useDedicatedIndex,
startDatafeed, startDatafeed,
start, start,
end end
@ -100,6 +103,7 @@ export function dataRecognizer(server, commonRouteConfig) {
groups, groups,
indexPatternName, indexPatternName,
query, query,
useDedicatedIndex,
startDatafeed, startDatafeed,
start, start,
end, end,