template = { #"index_patterns" : ["geodata.v1"], "order" : 0, "settings" : { "index.mapping.total_fields.limit": 10000, #"index.mapping.ignore_malformed": True, # "number_of_shards" : 48, # "number_of_replicas" : 0, "refresh_interval" : "30s", "max_ngram_diff": 100, "analysis": { "filter": { "original_preserving_ascii_folding" : { "type" : "asciifolding", "preserve_original" : True }, "french_elision": { "type": "elision", "articles_case": True, "articles": [ "l", "m", "t", "qu", "n", "s", "j", "d", "c", "jusqu", "quoiqu", "lorsqu", "puisqu" ] }, "french_stop": { "type": "stop", "stopwords": "_french_" }, "synonym" : { "type" : "synonym", "synonyms" : ["velo => velo'v"] } }, "tokenizer": { "my_edge_ngram_tokenizer": { "type": "edge_ngram", "min_gram": 2, "max_gram": 30, "token_chars": [ "letter", "digit", "punctuation", "symbol" ] } }, "analyzer": { "edge_ngram_analyzer_with_asciifolding": { "type": "custom", "tokenizer": "my_edge_ngram_tokenizer", "filter": [ "lowercase", "original_preserving_ascii_folding", "french_elision", "french_stop", "synonym" ] }, "my_search_analyzer": { "type": "custom", "tokenizer": "standard", "filter": [ "lowercase", "french_elision", "french_stop" #"my_other_multiplexer" ] }, "suggest_analyzer": { "type": "custom", "tokenizer": "standard", "filter": [ "lowercase", "french_elision", "french_stop"#, #"my_other_multiplexer" ] }, } } }, "mappings" : { "_doc" : { "dynamic_templates": [ # priority is given by order! { "geoshape-template" : { "match_pattern": "regex", "path_match": "metadata-fr.bbox|data-fr.geometry", "mapping": { "type": "geo_shape", "tree": "quadtree", #"index": "false" "ignore_malformed": True } } }, { "keyword-template" : { "match_pattern": "regex", "path_match": ".*md5.*|metadata-fr\.link\.formats.*|metadata-fr\.link\.service.*|metadata-fr\.parentId.*|metadata-fr\.geonet\:info\.uuid|slug|uuid", "mapping": { "type": "text", "index": False, "fields": { "keyword": { "type": "keyword" } } #"ignore_malformed": True } } }, { "date-template" : { "match_mapping_type": "date", # "path_match": "data-fr\.properties\.date.+|data-fr\.properties\.last_update.*|metadata-fr\.creationDate", "mapping": { "type": "date", "format": "strict_date_optional_time",#||epoch_millis||yyyy-MM-dd HH:mm:ss", "fields": { "sort": { "type": "date" } } } } }, { "nested-template": { "path_match": "metadata-fr.responsibleParty", "mapping": { "type": "nested" # "fields": { # "sort": # { # "type": "boolean" # } # } } } }, { "unindexed-path-template-1": { "match_pattern": "regex", "match_mapping_type": "*", "path_match": "metadata-fr\.href.*|metadata-fr\.idxMsg.*|data-fr\.geometry\..*|metadata-fr\.identifier.*|metadata-fr\.geonet\:info\..+|metadata-fr\.responsibleParty\.logo|metadata-fr\.image\..*|.*url|metadata-fr\.link\.name", # "match": "(metadata-fr\.image.*|data-fr\.geometry.*|metadata-fr\.href.*|metadata-fr\.idxMsg.*)", metadata-fr\.geonet\:info.* "mapping": { # "type": "text", # "ignore_malformed": True, "enabled": False } } }, { "unindexed-path-template-2": { "match_pattern": "regex", "match_mapping_type": "*", "path_match": "metadata-fr\.link\.projections|metadata-fr\.link\.content-type|metadata-fr\.link\.content-length|metadata-fr\.link\.bbox_by_projection|fields", # "match": "(metadata-fr\.image.*|data-fr\.geometry.*|metadata-fr\.href.*|metadata-fr\.idxMsg.*)", "mapping": { #"type": "nested", # "ignore_malformed": True, "enabled": False } } }, { "long-template": { "match_mapping_type": "long", "mapping": { "type": "long", "fields": { "sort": { "type": "long" } } } } }, { "double-template": { "match_mapping_type": "double", "mapping": { "type": "double", "fields": { "sort": { "type": "double" } } } } }, { "boolean-template": { "match_mapping_type": "boolean", "mapping": { "type": "boolean", "fields": { "sort": { "type": "boolean" } } } } }, { "data-template": { "match_pattern": "regex", "path_match": "data-fr\.properties\..+", "match_mapping_type": "string", "mapping": { "type": "text", # "ignore_malformed": True, "analyzer": "edge_ngram_analyzer_with_asciifolding", # "search_analyzer": "standard", "search_analyzer": "my_search_analyzer", "term_vector": "with_positions_offsets", "copy_to": ["data", "data_and_metadata"], "index_options": "offsets", "fields": { "keyword": { "type": "keyword", "ignore_above": 256, }, "sort": { "type": "keyword" }, "suggest": { "type": "text", "analyzer": "suggest_analyzer" } } } } }, { "string-template": { "match_mapping_type": "string", "mapping": { "type": "text", "analyzer": "edge_ngram_analyzer_with_asciifolding", "search_analyzer": "my_search_analyzer", "term_vector": "with_positions_offsets", "copy_to": "data_and_metadata", "index_options": "offsets", "fields": { "keyword": { "type": "keyword", "ignore_above": 256, }, "sort": { "type": "keyword" }, "suggest": { "type": "text", "analyzer": "suggest_analyzer" } } } } } ] } } }