From 870c7be6e8e43b031cff380012c851bbc4acd885 Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 16 Jun 2020 10:10:34 -0700 Subject: [PATCH] feat: Use `peliasQuery` analyzer for `address_parts.street` This is an experimental change, but one that has good impact when paired with https://github.com/pelias/schema/pull/446. Essentially, this change continues the trend we have started for the `name.*` and `phrase.*` fields to generate synonyms _only_ at index time. It may be the case that variations on input vs data text (for example `crt` vs `ct` vs `court`) may cause different synonyms to be generated by the same analyzer. Many queries, especially `match_phrase` queries, will require that _all_ of those generated synonym tokens must match. This is often not desirable. --- query/autocomplete_defaults.js | 4 ++-- query/search_defaults.js | 2 +- test/unit/fixture/autocomplete_single_character_street.js | 2 +- test/unit/fixture/search_boundary_country.js | 2 +- test/unit/fixture/search_boundary_country_multi.js | 2 +- test/unit/fixture/search_boundary_gid.js | 2 +- test/unit/fixture/search_fallback.js | 4 ++-- test/unit/fixture/search_linguistic_bbox.js | 2 +- test/unit/fixture/search_linguistic_focus.js | 2 +- test/unit/fixture/search_linguistic_focus_bbox.js | 2 +- test/unit/fixture/search_linguistic_focus_null_island.js | 2 +- test/unit/fixture/search_linguistic_only.js | 2 +- test/unit/fixture/search_with_category_filtering.js | 2 +- test/unit/fixture/search_with_source_filtering.js | 2 +- 14 files changed, 16 insertions(+), 16 deletions(-) diff --git a/query/autocomplete_defaults.js b/query/autocomplete_defaults.js index c05a2182e..c6029a5e8 100644 --- a/query/autocomplete_defaults.js +++ b/query/autocomplete_defaults.js @@ -41,12 +41,12 @@ module.exports = _.merge({}, peliasQuery.defaults, { 'address:housenumber:boost': 2, 'address:housenumber:cutoff_frequency': 0.01, - 'address:street:analyzer': 'peliasStreet', + 'address:street:analyzer': 'peliasQuery', 'address:street:field': 'address_parts.street', 'address:street:boost': 1, 'address:street:cutoff_frequency': 0.01, - 'address:cross_street:analyzer': 'peliasStreet', + 'address:cross_street:analyzer': 'peliasQuery', 'address:cross_street:field': 'address_parts.cross_street', 'address:cross_street:boost': 5, 'address:cross_street:cutoff_frequency': 0.01, diff --git a/query/search_defaults.js b/query/search_defaults.js index 9a9726870..a34a289da 100644 --- a/query/search_defaults.js +++ b/query/search_defaults.js @@ -41,7 +41,7 @@ module.exports = _.merge({}, peliasQuery.defaults, { 'address:housenumber:boost': 2, 'address:housenumber:cutoff_frequency': 0.01, - 'address:street:analyzer': 'peliasStreet', + 'address:street:analyzer': 'peliasQuery', 'address:street:field': 'address_parts.street', 'address:street:boost': 5, 'address:street:slop': 1, diff --git a/test/unit/fixture/autocomplete_single_character_street.js b/test/unit/fixture/autocomplete_single_character_street.js index dedacdc34..e864d2806 100644 --- a/test/unit/fixture/autocomplete_single_character_street.js +++ b/test/unit/fixture/autocomplete_single_character_street.js @@ -39,7 +39,7 @@ module.exports = { 'query': 'k road', 'cutoff_frequency': 0.01, 'boost': 1, - 'analyzer': 'peliasStreet' + 'analyzer': 'peliasQuery' } } }, diff --git a/test/unit/fixture/search_boundary_country.js b/test/unit/fixture/search_boundary_country.js index 5c37b1e7a..c87827b78 100644 --- a/test/unit/fixture/search_boundary_country.js +++ b/test/unit/fixture/search_boundary_country.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_boundary_country_multi.js b/test/unit/fixture/search_boundary_country_multi.js index 6256cea87..16f82a168 100644 --- a/test/unit/fixture/search_boundary_country_multi.js +++ b/test/unit/fixture/search_boundary_country_multi.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_boundary_gid.js b/test/unit/fixture/search_boundary_gid.js index febfab0a6..8b27d8f1a 100644 --- a/test/unit/fixture/search_boundary_gid.js +++ b/test/unit/fixture/search_boundary_gid.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_fallback.js b/test/unit/fixture/search_fallback.js index 8d7fc1e26..6536660b4 100644 --- a/test/unit/fixture/search_fallback.js +++ b/test/unit/fixture/search_fallback.js @@ -110,7 +110,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } @@ -278,7 +278,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_linguistic_bbox.js b/test/unit/fixture/search_linguistic_bbox.js index b735f2be9..73c816198 100644 --- a/test/unit/fixture/search_linguistic_bbox.js +++ b/test/unit/fixture/search_linguistic_bbox.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_linguistic_focus.js b/test/unit/fixture/search_linguistic_focus.js index 577137928..410303a92 100644 --- a/test/unit/fixture/search_linguistic_focus.js +++ b/test/unit/fixture/search_linguistic_focus.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_linguistic_focus_bbox.js b/test/unit/fixture/search_linguistic_focus_bbox.js index 52f746ebc..fc3e47156 100644 --- a/test/unit/fixture/search_linguistic_focus_bbox.js +++ b/test/unit/fixture/search_linguistic_focus_bbox.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_linguistic_focus_null_island.js b/test/unit/fixture/search_linguistic_focus_null_island.js index ed921b71d..98d0844a2 100644 --- a/test/unit/fixture/search_linguistic_focus_null_island.js +++ b/test/unit/fixture/search_linguistic_focus_null_island.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_linguistic_only.js b/test/unit/fixture/search_linguistic_only.js index c35827418..ed6903bc0 100644 --- a/test/unit/fixture/search_linguistic_only.js +++ b/test/unit/fixture/search_linguistic_only.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_with_category_filtering.js b/test/unit/fixture/search_with_category_filtering.js index 60f9fb8f9..8bdadcebe 100644 --- a/test/unit/fixture/search_with_category_filtering.js +++ b/test/unit/fixture/search_with_category_filtering.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } } diff --git a/test/unit/fixture/search_with_source_filtering.js b/test/unit/fixture/search_with_source_filtering.js index f88bc6694..cc9e3fb52 100644 --- a/test/unit/fixture/search_with_source_filtering.js +++ b/test/unit/fixture/search_with_source_filtering.js @@ -14,7 +14,7 @@ module.exports = { 'match_phrase': { 'address_parts.street': { 'query': 'street value', - 'analyzer': 'peliasStreet', + 'analyzer': 'peliasQuery', 'slop': 1 } }