pelias-schema 6.7.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/configValidation.js +0 -1
- package/integration/address_matching.js +3 -19
- package/integration/admin_abbreviations.js +4 -19
- package/integration/admin_matching.js +2 -6
- package/integration/analyzer_peliasAdmin.js +6 -6
- package/integration/analyzer_peliasHousenumber.js +3 -3
- package/integration/analyzer_peliasIndexOneEdgeGram.js +8 -8
- package/integration/analyzer_peliasPhrase.js +8 -13
- package/integration/analyzer_peliasQuery.js +5 -5
- package/integration/analyzer_peliasStreet.js +8 -8
- package/integration/analyzer_peliasZip.js +3 -3
- package/integration/autocomplete_abbreviated_street_names.js +3 -8
- package/integration/autocomplete_directional_synonym_expansion.js +5 -15
- package/integration/autocomplete_street_synonym_expansion.js +5 -15
- package/integration/bounding_box.js +2 -4
- package/integration/dynamic_templates.js +4 -14
- package/integration/multi_token_synonyms.js +2 -3
- package/integration/run.js +1 -3
- package/integration/source_layer_sourceid_filtering.js +6 -13
- package/integration/validate.js +2 -2
- package/mappings/partial/admin.json +1 -2
- package/mappings/partial/countryAbbreviation.json +1 -2
- package/package.json +4 -4
- package/scripts/check_plugins.js +1 -10
- package/scripts/create_index.js +0 -1
- package/scripts/list_analyzers.js +1 -2
- package/scripts/output_mapping.js +1 -18
- package/settings.js +1 -1
- package/test/configValidation.js +1 -37
- package/test/elastictest/Suite.js +103 -0
- package/test/fixtures/expected.json +29 -57
- package/test/settings.js +1 -1
- package/scripts/reset_type.js +0 -26
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "pelias-schema",
|
3
|
-
"version": "
|
3
|
+
"version": "7.0.0",
|
4
4
|
"author": "pelias",
|
5
5
|
"description": "Elasticsearch schema files and tooling for Pelias",
|
6
6
|
"homepage": "https://github.com/pelias/schema",
|
@@ -11,7 +11,6 @@
|
|
11
11
|
"integration": "./bin/integration",
|
12
12
|
"create_index": "./bin/create_index",
|
13
13
|
"drop_index": "node scripts/drop_index",
|
14
|
-
"reset_type": "node scripts/reset_type",
|
15
14
|
"update_settings": "node scripts/update_settings"
|
16
15
|
},
|
17
16
|
"repository": {
|
@@ -34,15 +33,16 @@
|
|
34
33
|
"elasticsearch": "^16.0.0",
|
35
34
|
"glob": "^7.1.6",
|
36
35
|
"lodash": "^4.17.15",
|
37
|
-
"pelias-config": "^
|
36
|
+
"pelias-config": "^6.0.0",
|
38
37
|
"pelias-logger": "^1.3.0",
|
39
38
|
"semver": "^7.1.1"
|
40
39
|
},
|
41
40
|
"devDependencies": {
|
41
|
+
"async": "^3.2.5",
|
42
42
|
"difflet": "^1.0.1",
|
43
|
-
"elastictest": "^3.0.0",
|
44
43
|
"iso3166-1": "^0.5.1",
|
45
44
|
"proxyquire": "^2.0.0",
|
45
|
+
"randomstring": "^1.3.0",
|
46
46
|
"tap-spec": "^5.0.0",
|
47
47
|
"tape": "^5.0.0"
|
48
48
|
},
|
package/scripts/check_plugins.js
CHANGED
@@ -10,15 +10,6 @@ const required = ['analysis-icu'];
|
|
10
10
|
// list of failures
|
11
11
|
let failures = [];
|
12
12
|
|
13
|
-
// returns the appropriate plugin name for the configured Elasticsearch version
|
14
|
-
function elasticsearchPluginUtility() {
|
15
|
-
if (config.esclient.apiVersion === '2.4') {
|
16
|
-
return 'plugin';
|
17
|
-
} else {
|
18
|
-
return 'elasticsearch-plugin';
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
13
|
cli.header("checking elasticsearch plugins");
|
23
14
|
client.nodes.info(null, (err, res) => {
|
24
15
|
|
@@ -76,7 +67,7 @@ client.nodes.info(null, (err, res) => {
|
|
76
67
|
failures.forEach(failure => {
|
77
68
|
console.error( `\nyou can install the missing packages on '${failure.node.name}' [${failure.node.ip}] with the following command(s):\n` );
|
78
69
|
failure.plugins.forEach(plugin => {
|
79
|
-
console.error( colors.green( `sudo ${failure.node.settings.path.home}/bin
|
70
|
+
console.error( colors.green( `sudo ${failure.node.settings.path.home}/bin/elasticsearch-plugin install ${plugin}`) );
|
80
71
|
});
|
81
72
|
});
|
82
73
|
console.error( colors.white("\nnote:") + "some plugins may require you to restart elasticsearch.\n");
|
package/scripts/create_index.js
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
const _ = require('lodash')
|
2
2
|
const colors = require('colors')
|
3
3
|
const cli = require('./cli');
|
4
|
-
const config = require('pelias-config').generate();
|
5
4
|
const schema = require('../schema');
|
6
5
|
const DEFAULT_ANALYZER = 'standard';
|
7
6
|
const NOT_APPLICABLE_ANALYZER = 'n/a';
|
@@ -54,7 +53,7 @@ const error = function(vals) {
|
|
54
53
|
}
|
55
54
|
|
56
55
|
// parse mapping
|
57
|
-
const mapping = schema.mappings
|
56
|
+
const mapping = schema.mappings;
|
58
57
|
const dynamic = mapping.dynamic_templates.map(t => _.first(_.map(t, v => v)));
|
59
58
|
|
60
59
|
// process and single mapping property (recursively)
|
@@ -1,21 +1,4 @@
|
|
1
|
-
var config = require('pelias-config').generate();
|
2
|
-
var es = require('elasticsearch');
|
3
|
-
var client = new es.Client(config.esclient);
|
4
1
|
var schema = require('../schema');
|
5
2
|
|
6
|
-
|
7
|
-
var _type = ( process.argv.length > 2 ) ? process.argv[2] : null; // get type from cli args
|
8
|
-
|
9
|
-
// print out mapping for just one type
|
10
|
-
if ( _type ) {
|
11
|
-
var mapping = schema.mappings[_type];
|
12
|
-
if( !mapping ){
|
13
|
-
console.error( 'could not find a mapping in the schema file for', _index+'/'+_type );
|
14
|
-
process.exit(1);
|
15
|
-
}
|
16
|
-
console.log( JSON.stringify( mapping, null, 2 ) );
|
17
|
-
//print out the entire schema mapping
|
18
|
-
} else {
|
19
|
-
console.log( JSON.stringify( schema, null, 2 ) );
|
20
|
-
}
|
3
|
+
console.log( JSON.stringify( schema.mappings, null, 2 ) );
|
21
4
|
|
package/settings.js
CHANGED
package/test/configValidation.js
CHANGED
@@ -19,7 +19,7 @@ module.exports.tests.interface = function(test, common) {
|
|
19
19
|
|
20
20
|
test('config without schema.indexName should throw error', function(t) {
|
21
21
|
var config = {
|
22
|
-
schema: {
|
22
|
+
schema: {},
|
23
23
|
esclient: {}
|
24
24
|
};
|
25
25
|
|
@@ -30,25 +30,11 @@ module.exports.tests.interface = function(test, common) {
|
|
30
30
|
|
31
31
|
});
|
32
32
|
|
33
|
-
test('config without schema.typeName should throw error', function (t) {
|
34
|
-
var config = {
|
35
|
-
schema: { indexName: 'example_index' },
|
36
|
-
esclient: {}
|
37
|
-
};
|
38
|
-
|
39
|
-
t.throws(function () {
|
40
|
-
configValidation.validate(config);
|
41
|
-
}, /"schema.typeName" is required/, 'schema.typeName should exist');
|
42
|
-
t.end();
|
43
|
-
|
44
|
-
});
|
45
|
-
|
46
33
|
test('config with non-string schema.indexName should throw error', function(t) {
|
47
34
|
[null, 17, {}, [], false].forEach((value) => {
|
48
35
|
var config = {
|
49
36
|
schema: {
|
50
37
|
indexName: value,
|
51
|
-
typeName: 'example_type'
|
52
38
|
},
|
53
39
|
esclient: {}
|
54
40
|
};
|
@@ -63,32 +49,11 @@ module.exports.tests.interface = function(test, common) {
|
|
63
49
|
|
64
50
|
});
|
65
51
|
|
66
|
-
test('config with non-string schema.typeName should throw error', function (t) {
|
67
|
-
[null, 17, {}, [], false].forEach((value) => {
|
68
|
-
var config = {
|
69
|
-
schema: {
|
70
|
-
indexName: 'example_index',
|
71
|
-
typeName: value
|
72
|
-
},
|
73
|
-
esclient: {}
|
74
|
-
};
|
75
|
-
|
76
|
-
t.throws(function () {
|
77
|
-
configValidation.validate(config);
|
78
|
-
}, /"schema.typeName" must be a string/, 'schema.typeName should be a string');
|
79
|
-
|
80
|
-
});
|
81
|
-
|
82
|
-
t.end();
|
83
|
-
|
84
|
-
});
|
85
|
-
|
86
52
|
test('config with non-object esclient should throw error', function(t) {
|
87
53
|
[null, 17, [], 'string', true].forEach((value) => {
|
88
54
|
var config = {
|
89
55
|
schema: {
|
90
56
|
indexName: 'example_index',
|
91
|
-
typeName: 'example_type'
|
92
57
|
},
|
93
58
|
esclient: value
|
94
59
|
};
|
@@ -107,7 +72,6 @@ module.exports.tests.interface = function(test, common) {
|
|
107
72
|
var config = {
|
108
73
|
schema: {
|
109
74
|
indexName: 'example_index',
|
110
|
-
typeName: 'example_type'
|
111
75
|
},
|
112
76
|
esclient: {}
|
113
77
|
};
|
@@ -0,0 +1,103 @@
|
|
1
|
+
const _ = require('lodash')
|
2
|
+
const randomstring = require('randomstring')
|
3
|
+
const elasticsearch = require('elasticsearch')
|
4
|
+
const async = require('async')
|
5
|
+
|
6
|
+
function Suite (clientOpts, props) {
|
7
|
+
this.actions = []
|
8
|
+
this.asserts = []
|
9
|
+
this.client = null
|
10
|
+
this.clientOpts = !!clientOpts && (clone(clientOpts) || {
|
11
|
+
host: 'localhost:9200',
|
12
|
+
keepAlive: true
|
13
|
+
})
|
14
|
+
this.props = props || {}
|
15
|
+
if (!_.has(this, 'props.index')) {
|
16
|
+
this.props.index = 'testindex-' + randomstring.generate(7).toLowerCase()
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
Suite.prototype.action = function (action) {
|
21
|
+
this.actions.push(action)
|
22
|
+
}
|
23
|
+
|
24
|
+
Suite.prototype.assert = function (assert) {
|
25
|
+
this.asserts.push(assert)
|
26
|
+
}
|
27
|
+
|
28
|
+
Suite.prototype.start = function (cb) {
|
29
|
+
this.client = new elasticsearch.Client(this.clientOpts)
|
30
|
+
cb()
|
31
|
+
}
|
32
|
+
|
33
|
+
Suite.prototype.create = function (cb) {
|
34
|
+
const cmd = _.merge(this.props.create, { index: this.props.index })
|
35
|
+
if (_.has(this, 'props.schema')) {
|
36
|
+
cmd.body = this.props.schema
|
37
|
+
}
|
38
|
+
this.client.indices.create(cmd, cb)
|
39
|
+
}
|
40
|
+
|
41
|
+
Suite.prototype.delete = function (cb) {
|
42
|
+
const cmd = _.merge(this.props.delete, { index: this.props.index })
|
43
|
+
this.client.indices.delete(cmd, cb)
|
44
|
+
}
|
45
|
+
|
46
|
+
Suite.prototype.refresh = function (cb) {
|
47
|
+
const cmd = _.merge(this.props.refresh, { index: this.props.index })
|
48
|
+
this.client.indices.refresh(cmd, cb)
|
49
|
+
}
|
50
|
+
|
51
|
+
// note: optimize was replaced in version ES@2.0, forcemerge used for later versions:
|
52
|
+
// https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html
|
53
|
+
Suite.prototype.optimize = function (cb) {
|
54
|
+
try {
|
55
|
+
this.client.indices.forcemerge({ index: this.props.index }, cb)
|
56
|
+
} catch (e) {
|
57
|
+
const cmd = { index: this.props.index, waitForMerge: true, force: true }
|
58
|
+
this.client.indices.optimize(cmd, cb)
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
Suite.prototype.waitForStatus = function (status, cb) {
|
63
|
+
const cmd = { waitForStatus: status || 'yellow' }
|
64
|
+
this.client.cluster.health(cmd, cb)
|
65
|
+
}
|
66
|
+
|
67
|
+
Suite.prototype.run = function (cb) {
|
68
|
+
const self = this
|
69
|
+
self.start(err => {
|
70
|
+
if (err) { throw new Error(err) }
|
71
|
+
self.waitForStatus('yellow', err => {
|
72
|
+
if (err) { throw new Error(err) }
|
73
|
+
self.create(err => {
|
74
|
+
if (err) { throw new Error(err) }
|
75
|
+
async.series(self.actions, err => {
|
76
|
+
if (err) { throw new Error(err) }
|
77
|
+
self.refresh(err => {
|
78
|
+
if (err) { throw new Error(err) }
|
79
|
+
self.optimize(async.series(self.asserts, err => {
|
80
|
+
if (err) { throw new Error(err) }
|
81
|
+
self.delete(err => {
|
82
|
+
if (err) { throw new Error(err) }
|
83
|
+
self.client.close()
|
84
|
+
if (_.isFunction(cb)) {
|
85
|
+
cb()
|
86
|
+
}
|
87
|
+
})
|
88
|
+
}))
|
89
|
+
})
|
90
|
+
})
|
91
|
+
})
|
92
|
+
})
|
93
|
+
})
|
94
|
+
}
|
95
|
+
|
96
|
+
// elasticsearch client requires that config objects not be reused.
|
97
|
+
// Error: Do not reuse objects to configure the elasticsearch Client class:
|
98
|
+
// https://github.com/elasticsearch/elasticsearch-js/issues/33
|
99
|
+
function clone (obj) {
|
100
|
+
return JSON.parse(JSON.stringify(obj))
|
101
|
+
}
|
102
|
+
|
103
|
+
module.exports = Suite
|
@@ -248,7 +248,7 @@
|
|
248
248
|
"only_on_same_position": "true"
|
249
249
|
},
|
250
250
|
"peliasOneEdgeGramFilter": {
|
251
|
-
"type": "
|
251
|
+
"type": "edge_ngram",
|
252
252
|
"min_gram": 1,
|
253
253
|
"max_gram": 24
|
254
254
|
},
|
@@ -2415,8 +2415,7 @@
|
|
2415
2415
|
"type": "text",
|
2416
2416
|
"analyzer": "peliasIndexOneEdgeGram",
|
2417
2417
|
"search_analyzer": "peliasAdmin",
|
2418
|
-
"similarity": "peliasDefaultSimilarity"
|
2419
|
-
"doc_values": false
|
2418
|
+
"similarity": "peliasDefaultSimilarity"
|
2420
2419
|
}
|
2421
2420
|
}
|
2422
2421
|
},
|
@@ -2430,8 +2429,7 @@
|
|
2430
2429
|
"type": "text",
|
2431
2430
|
"analyzer": "peliasIndexOneEdgeGram",
|
2432
2431
|
"search_analyzer": "peliasAdmin",
|
2433
|
-
"similarity": "peliasDefaultSimilarity"
|
2434
|
-
"doc_values": false
|
2432
|
+
"similarity": "peliasDefaultSimilarity"
|
2435
2433
|
}
|
2436
2434
|
}
|
2437
2435
|
},
|
@@ -2453,8 +2451,7 @@
|
|
2453
2451
|
"type": "text",
|
2454
2452
|
"analyzer": "peliasIndexOneEdgeGram",
|
2455
2453
|
"search_analyzer": "peliasAdmin",
|
2456
|
-
"similarity": "peliasDefaultSimilarity"
|
2457
|
-
"doc_values": false
|
2454
|
+
"similarity": "peliasDefaultSimilarity"
|
2458
2455
|
}
|
2459
2456
|
}
|
2460
2457
|
},
|
@@ -2468,8 +2465,7 @@
|
|
2468
2465
|
"type": "text",
|
2469
2466
|
"analyzer": "peliasIndexOneEdgeGram",
|
2470
2467
|
"search_analyzer": "peliasAdmin",
|
2471
|
-
"similarity": "peliasDefaultSimilarity"
|
2472
|
-
"doc_values": false
|
2468
|
+
"similarity": "peliasDefaultSimilarity"
|
2473
2469
|
}
|
2474
2470
|
}
|
2475
2471
|
},
|
@@ -2491,8 +2487,7 @@
|
|
2491
2487
|
"type": "text",
|
2492
2488
|
"analyzer": "peliasIndexOneEdgeGram",
|
2493
2489
|
"search_analyzer": "peliasAdmin",
|
2494
|
-
"similarity": "peliasDefaultSimilarity"
|
2495
|
-
"doc_values": false
|
2490
|
+
"similarity": "peliasDefaultSimilarity"
|
2496
2491
|
}
|
2497
2492
|
}
|
2498
2493
|
},
|
@@ -2506,8 +2501,7 @@
|
|
2506
2501
|
"type": "text",
|
2507
2502
|
"analyzer": "peliasIndexOneEdgeGram",
|
2508
2503
|
"search_analyzer": "peliasAdmin",
|
2509
|
-
"similarity": "peliasDefaultSimilarity"
|
2510
|
-
"doc_values": false
|
2504
|
+
"similarity": "peliasDefaultSimilarity"
|
2511
2505
|
}
|
2512
2506
|
}
|
2513
2507
|
},
|
@@ -2529,8 +2523,7 @@
|
|
2529
2523
|
"type": "text",
|
2530
2524
|
"analyzer": "peliasIndexOneEdgeGram",
|
2531
2525
|
"search_analyzer": "peliasAdmin",
|
2532
|
-
"similarity": "peliasDefaultSimilarity"
|
2533
|
-
"doc_values": false
|
2526
|
+
"similarity": "peliasDefaultSimilarity"
|
2534
2527
|
}
|
2535
2528
|
}
|
2536
2529
|
},
|
@@ -2544,8 +2537,7 @@
|
|
2544
2537
|
"type": "text",
|
2545
2538
|
"analyzer": "peliasIndexCountryAbbreviationOneEdgeGram",
|
2546
2539
|
"search_analyzer": "peliasQuery",
|
2547
|
-
"similarity": "peliasDefaultSimilarity"
|
2548
|
-
"doc_values": false
|
2540
|
+
"similarity": "peliasDefaultSimilarity"
|
2549
2541
|
}
|
2550
2542
|
}
|
2551
2543
|
},
|
@@ -2567,8 +2559,7 @@
|
|
2567
2559
|
"type": "text",
|
2568
2560
|
"analyzer": "peliasIndexOneEdgeGram",
|
2569
2561
|
"search_analyzer": "peliasAdmin",
|
2570
|
-
"similarity": "peliasDefaultSimilarity"
|
2571
|
-
"doc_values": false
|
2562
|
+
"similarity": "peliasDefaultSimilarity"
|
2572
2563
|
}
|
2573
2564
|
}
|
2574
2565
|
},
|
@@ -2582,8 +2573,7 @@
|
|
2582
2573
|
"type": "text",
|
2583
2574
|
"analyzer": "peliasIndexOneEdgeGram",
|
2584
2575
|
"search_analyzer": "peliasAdmin",
|
2585
|
-
"similarity": "peliasDefaultSimilarity"
|
2586
|
-
"doc_values": false
|
2576
|
+
"similarity": "peliasDefaultSimilarity"
|
2587
2577
|
}
|
2588
2578
|
}
|
2589
2579
|
},
|
@@ -2605,8 +2595,7 @@
|
|
2605
2595
|
"type": "text",
|
2606
2596
|
"analyzer": "peliasIndexOneEdgeGram",
|
2607
2597
|
"search_analyzer": "peliasAdmin",
|
2608
|
-
"similarity": "peliasDefaultSimilarity"
|
2609
|
-
"doc_values": false
|
2598
|
+
"similarity": "peliasDefaultSimilarity"
|
2610
2599
|
}
|
2611
2600
|
}
|
2612
2601
|
},
|
@@ -2620,8 +2609,7 @@
|
|
2620
2609
|
"type": "text",
|
2621
2610
|
"analyzer": "peliasIndexOneEdgeGram",
|
2622
2611
|
"search_analyzer": "peliasAdmin",
|
2623
|
-
"similarity": "peliasDefaultSimilarity"
|
2624
|
-
"doc_values": false
|
2612
|
+
"similarity": "peliasDefaultSimilarity"
|
2625
2613
|
}
|
2626
2614
|
}
|
2627
2615
|
},
|
@@ -2643,8 +2631,7 @@
|
|
2643
2631
|
"type": "text",
|
2644
2632
|
"analyzer": "peliasIndexOneEdgeGram",
|
2645
2633
|
"search_analyzer": "peliasAdmin",
|
2646
|
-
"similarity": "peliasDefaultSimilarity"
|
2647
|
-
"doc_values": false
|
2634
|
+
"similarity": "peliasDefaultSimilarity"
|
2648
2635
|
}
|
2649
2636
|
}
|
2650
2637
|
},
|
@@ -2658,8 +2645,7 @@
|
|
2658
2645
|
"type": "text",
|
2659
2646
|
"analyzer": "peliasIndexOneEdgeGram",
|
2660
2647
|
"search_analyzer": "peliasAdmin",
|
2661
|
-
"similarity": "peliasDefaultSimilarity"
|
2662
|
-
"doc_values": false
|
2648
|
+
"similarity": "peliasDefaultSimilarity"
|
2663
2649
|
}
|
2664
2650
|
}
|
2665
2651
|
},
|
@@ -2681,8 +2667,7 @@
|
|
2681
2667
|
"type": "text",
|
2682
2668
|
"analyzer": "peliasIndexOneEdgeGram",
|
2683
2669
|
"search_analyzer": "peliasAdmin",
|
2684
|
-
"similarity": "peliasDefaultSimilarity"
|
2685
|
-
"doc_values": false
|
2670
|
+
"similarity": "peliasDefaultSimilarity"
|
2686
2671
|
}
|
2687
2672
|
}
|
2688
2673
|
},
|
@@ -2696,8 +2681,7 @@
|
|
2696
2681
|
"type": "text",
|
2697
2682
|
"analyzer": "peliasIndexOneEdgeGram",
|
2698
2683
|
"search_analyzer": "peliasAdmin",
|
2699
|
-
"similarity": "peliasDefaultSimilarity"
|
2700
|
-
"doc_values": false
|
2684
|
+
"similarity": "peliasDefaultSimilarity"
|
2701
2685
|
}
|
2702
2686
|
}
|
2703
2687
|
},
|
@@ -2719,8 +2703,7 @@
|
|
2719
2703
|
"type": "text",
|
2720
2704
|
"analyzer": "peliasIndexOneEdgeGram",
|
2721
2705
|
"search_analyzer": "peliasAdmin",
|
2722
|
-
"similarity": "peliasDefaultSimilarity"
|
2723
|
-
"doc_values": false
|
2706
|
+
"similarity": "peliasDefaultSimilarity"
|
2724
2707
|
}
|
2725
2708
|
}
|
2726
2709
|
},
|
@@ -2734,8 +2717,7 @@
|
|
2734
2717
|
"type": "text",
|
2735
2718
|
"analyzer": "peliasIndexOneEdgeGram",
|
2736
2719
|
"search_analyzer": "peliasAdmin",
|
2737
|
-
"similarity": "peliasDefaultSimilarity"
|
2738
|
-
"doc_values": false
|
2720
|
+
"similarity": "peliasDefaultSimilarity"
|
2739
2721
|
}
|
2740
2722
|
}
|
2741
2723
|
},
|
@@ -2757,8 +2739,7 @@
|
|
2757
2739
|
"type": "text",
|
2758
2740
|
"analyzer": "peliasIndexOneEdgeGram",
|
2759
2741
|
"search_analyzer": "peliasAdmin",
|
2760
|
-
"similarity": "peliasDefaultSimilarity"
|
2761
|
-
"doc_values": false
|
2742
|
+
"similarity": "peliasDefaultSimilarity"
|
2762
2743
|
}
|
2763
2744
|
}
|
2764
2745
|
},
|
@@ -2772,8 +2753,7 @@
|
|
2772
2753
|
"type": "text",
|
2773
2754
|
"analyzer": "peliasIndexOneEdgeGram",
|
2774
2755
|
"search_analyzer": "peliasAdmin",
|
2775
|
-
"similarity": "peliasDefaultSimilarity"
|
2776
|
-
"doc_values": false
|
2756
|
+
"similarity": "peliasDefaultSimilarity"
|
2777
2757
|
}
|
2778
2758
|
}
|
2779
2759
|
},
|
@@ -2795,8 +2775,7 @@
|
|
2795
2775
|
"type": "text",
|
2796
2776
|
"analyzer": "peliasIndexOneEdgeGram",
|
2797
2777
|
"search_analyzer": "peliasAdmin",
|
2798
|
-
"similarity": "peliasDefaultSimilarity"
|
2799
|
-
"doc_values": false
|
2778
|
+
"similarity": "peliasDefaultSimilarity"
|
2800
2779
|
}
|
2801
2780
|
}
|
2802
2781
|
},
|
@@ -2810,8 +2789,7 @@
|
|
2810
2789
|
"type": "text",
|
2811
2790
|
"analyzer": "peliasIndexOneEdgeGram",
|
2812
2791
|
"search_analyzer": "peliasAdmin",
|
2813
|
-
"similarity": "peliasDefaultSimilarity"
|
2814
|
-
"doc_values": false
|
2792
|
+
"similarity": "peliasDefaultSimilarity"
|
2815
2793
|
}
|
2816
2794
|
}
|
2817
2795
|
},
|
@@ -2833,8 +2811,7 @@
|
|
2833
2811
|
"type": "text",
|
2834
2812
|
"analyzer": "peliasIndexOneEdgeGram",
|
2835
2813
|
"search_analyzer": "peliasAdmin",
|
2836
|
-
"similarity": "peliasDefaultSimilarity"
|
2837
|
-
"doc_values": false
|
2814
|
+
"similarity": "peliasDefaultSimilarity"
|
2838
2815
|
}
|
2839
2816
|
}
|
2840
2817
|
},
|
@@ -2848,8 +2825,7 @@
|
|
2848
2825
|
"type": "text",
|
2849
2826
|
"analyzer": "peliasIndexOneEdgeGram",
|
2850
2827
|
"search_analyzer": "peliasAdmin",
|
2851
|
-
"similarity": "peliasDefaultSimilarity"
|
2852
|
-
"doc_values": false
|
2828
|
+
"similarity": "peliasDefaultSimilarity"
|
2853
2829
|
}
|
2854
2830
|
}
|
2855
2831
|
},
|
@@ -2871,8 +2847,7 @@
|
|
2871
2847
|
"type": "text",
|
2872
2848
|
"analyzer": "peliasIndexOneEdgeGram",
|
2873
2849
|
"search_analyzer": "peliasAdmin",
|
2874
|
-
"similarity": "peliasDefaultSimilarity"
|
2875
|
-
"doc_values": false
|
2850
|
+
"similarity": "peliasDefaultSimilarity"
|
2876
2851
|
}
|
2877
2852
|
}
|
2878
2853
|
},
|
@@ -2886,8 +2861,7 @@
|
|
2886
2861
|
"type": "text",
|
2887
2862
|
"analyzer": "peliasIndexOneEdgeGram",
|
2888
2863
|
"search_analyzer": "peliasAdmin",
|
2889
|
-
"similarity": "peliasDefaultSimilarity"
|
2890
|
-
"doc_values": false
|
2864
|
+
"similarity": "peliasDefaultSimilarity"
|
2891
2865
|
}
|
2892
2866
|
}
|
2893
2867
|
},
|
@@ -2909,8 +2883,7 @@
|
|
2909
2883
|
"type": "text",
|
2910
2884
|
"analyzer": "peliasIndexOneEdgeGram",
|
2911
2885
|
"search_analyzer": "peliasAdmin",
|
2912
|
-
"similarity": "peliasDefaultSimilarity"
|
2913
|
-
"doc_values": false
|
2886
|
+
"similarity": "peliasDefaultSimilarity"
|
2914
2887
|
}
|
2915
2888
|
}
|
2916
2889
|
},
|
@@ -2924,8 +2897,7 @@
|
|
2924
2897
|
"type": "text",
|
2925
2898
|
"analyzer": "peliasIndexOneEdgeGram",
|
2926
2899
|
"search_analyzer": "peliasAdmin",
|
2927
|
-
"similarity": "peliasDefaultSimilarity"
|
2928
|
-
"doc_values": false
|
2900
|
+
"similarity": "peliasDefaultSimilarity"
|
2929
2901
|
}
|
2930
2902
|
}
|
2931
2903
|
},
|
package/test/settings.js
CHANGED
@@ -490,7 +490,7 @@ module.exports.tests.peliasOneEdgeGramFilter = function(test, common) {
|
|
490
490
|
var s = settings();
|
491
491
|
t.equal(typeof s.analysis.filter.peliasOneEdgeGramFilter, 'object', 'there is a peliasIndexOneEdgeGram filter');
|
492
492
|
var filter = s.analysis.filter.peliasOneEdgeGramFilter;
|
493
|
-
t.equal(filter.type, '
|
493
|
+
t.equal(filter.type, 'edge_ngram');
|
494
494
|
t.equal(filter.min_gram, 1);
|
495
495
|
t.equal(filter.max_gram, 24);
|
496
496
|
t.end();
|
package/scripts/reset_type.js
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
var config = require('pelias-config').generate().esclient;
|
2
|
-
var es = require('elasticsearch');
|
3
|
-
var client = new es.Client(config);
|
4
|
-
var schema = require('../schema');
|
5
|
-
|
6
|
-
var _index = ( process.argv.length > 3 ) ? process.argv[3] : config.schema.indexName;
|
7
|
-
var _type = ( process.argv.length > 2 ) ? process.argv[2] : null; // get type from cli args
|
8
|
-
|
9
|
-
if( !_type ){
|
10
|
-
console.error( 'you must provide the target es \'type\' as the first cli argument' );
|
11
|
-
process.exit(1);
|
12
|
-
}
|
13
|
-
|
14
|
-
var mapping = schema.mappings[_type];
|
15
|
-
if( !mapping ){
|
16
|
-
console.error( 'could not find a mapping in the schema file for', _index+'/'+_type );
|
17
|
-
process.exit(1);
|
18
|
-
}
|
19
|
-
|
20
|
-
client.indices.deleteMapping( { index: _index, type: _type }, function( err, res ){
|
21
|
-
console.log( '[delete mapping]', '\t', _index+'/'+_type, err || '\t', res );
|
22
|
-
client.indices.putMapping( { index: _index, type: _type, body:mapping }, function( err, res ){
|
23
|
-
console.log( '[put mapping]', '\t\t', _index+'/'+_type, err || '\t', res );
|
24
|
-
process.exit( !!err );
|
25
|
-
});
|
26
|
-
});
|