Fixing autocomplete issues (#17678) (#17753)

* renaming endpoint defs to remove collisions

* Revert "renaming endpoint defs to remove collisions"

This reverts commit 01a113db81.

* generic fix for issue with spec collisions

* better fix for collisions

* changing name of autocomplete only endpoint to fix issue with put index settings

* removing return that is never hit
This commit is contained in:
Bill McConaghy 2018-04-17 16:18:17 -04:00 committed by GitHub
parent 62408d9ef1
commit ce8d0774c3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 13 deletions

View file

@ -1,19 +1,28 @@
const glob = require('glob')
const { join, basename } = require('path')
const { readFileSync } = require('fs')
const { merge } = require('lodash')
const glob = require('glob');
const { join, basename } = require('path');
const { readFileSync } = require('fs');
const { merge } = require('lodash');
export function getSpec() {
const generatedFiles = glob.sync(join(__dirname, 'generated', '*.json'))
const overrideFiles = glob.sync(join(__dirname, 'overrides', '*.json'))
const generatedFiles = glob.sync(join(__dirname, 'generated', '*.json'));
const overrideFiles = glob.sync(join(__dirname, 'overrides', '*.json'));
return generatedFiles.reduce((acc, file) => {
const overrideFile = overrideFiles.find(f => basename(f) === basename(file))
const spec = JSON.parse(readFileSync(file, 'utf8'))
const overrideFile = overrideFiles.find(f => basename(f) === basename(file));
const loadedSpec = JSON.parse(readFileSync(file, 'utf8'));
if (overrideFile) {
merge(spec, JSON.parse(readFileSync(overrideFile, 'utf8')))
merge(loadedSpec, JSON.parse(readFileSync(overrideFile, 'utf8')));
}
const spec = {};
Object.entries(loadedSpec).forEach(([key, value]) => {
if (acc[key]) {
// add time to remove key collision
spec[`${key}${Date.now()}`] = value;
} else {
spec[key] = value;
}
});
return { ...acc, ...spec };
}, {});
return result
}

View file

@ -8,7 +8,7 @@
"__scope_link": "_put_mapping"
},
"settings": {
"__scope_link": "_put_settings"
"__scope_link": "_settings_autocomplete"
},
"aliases": {
"__template": {

View file

@ -1,5 +1,5 @@
{
"_settings": {
"_settings_autocomplete": {
"data_autocomplete_rules": {
"refresh_interval": "1s",
"number_of_shards": 5,

View file

@ -4,7 +4,7 @@
"template": "index*",
"warmers": { "__scope_link": "_warmer" },
"mappings": { "__scope_link": "_mapping" },
"settings": { "__scope_link": "_settings" }
"settings": { "__scope_link": "_settings_autocomplete" }
}
}
}