diff --git a/main.go b/main.go index 82de983..fc8e37b 100644 --- a/main.go +++ b/main.go @@ -365,18 +365,38 @@ const indexSettings = ` "type": "ngram", "min_gram": 3, "max_gram": 3 - } + } }, "analyzer": { "trigrams": { "type": "custom", "tokenizer": "standard", - "filter": [ + "filter": [ "lowercase", "trigrams_filter" ] - } - } + }, + "locations": { + "tokenizer": "location_tokenizer", + "filter": [ + "lowercase" + ] + } + }, + "tokenizer": { + "location_tokenizer": { + "type": "pattern", + "pattern": "(.* > )?([^>]+)", + "group": 2 + } + }, + "normalizer": { + "lowercase": { + "type": "custom", + "char_filter": [], + "filter": ["lowercase"] + } + } } }, @@ -393,14 +413,9 @@ const indexSettings = ` "type": "keyword" }, "text": { - "type": "text", - "analyzer": "simple", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 64 - } - } + "type": "keyword", + "ignore_above": 64, + "normalizer": "lowercase" }, "decimal": { "type": "scaled_float", @@ -410,13 +425,16 @@ const indexSettings = ` "type": "date" }, "state": { - "type": "keyword" + "type": "text", + "analyzer": "locations" }, "district": { - "type": "keyword" + "type": "text", + "analyzer": "locations" }, "ward": { - "type": "keyword" + "type": "text", + "analyzer": "locations" } } }, @@ -429,12 +447,14 @@ const indexSettings = ` "fields": { "keyword": { "type": "keyword", - "ignore_above": 64 + "ignore_above": 64, + "normalizer": "lowercase" } } }, "scheme": { - "type": "keyword" + "type": "keyword", + "normalizer": "lowercase" } } }, @@ -442,7 +462,8 @@ const indexSettings = ` "type": "keyword" }, "language": { - "type": "keyword" + "type": "keyword", + "normalizer": "lowercase" }, "modified_on": { "type": "date" @@ -453,7 +474,8 @@ const indexSettings = ` "fields": { "keyword": { "type": "keyword", - "ignore_above": 64 + "ignore_above": 64, + "normalizer": "lowercase" } } }