Files
timebank-cc-public/config/elasticsearch.php
Ronald Huynen 2547717edb Initial commit
2026-03-23 21:37:59 +01:00

879 lines
44 KiB
PHP

<?php
return [
'host' => env('ELASTICSEARCH_HOST'),
'user' => env('ELASTICSEARCH_USER'),
'password' => env('ELASTICSEARCH_PASSWORD'),
'cloud_id' => env('ELASTICSEARCH_CLOUD_ID'),
'api_key' => env('ELASTICSEARCH_API_KEY'),
'queue' => [
'timeout' => env('SCOUT_QUEUE_TIMEOUT'),
],
'indices' => [
'mappings' => [
'default' => [
'properties' => [
'id' => [
'type' => 'keyword',
],
'__class_name' => [
'type' => 'keyword',
],
'created_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'updated_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
],
],
'posts_index' => [
'properties' => [
'id' => ['type' => 'keyword'],
'__class_name' => ['type' => 'keyword'],
'category_id' => ['type' => 'integer'],
'user_id' => ['type' => 'integer'],
'status' => ['type' => 'keyword'],
'featured' => ['type' => 'boolean'],
'created_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'postable' => [
'properties' => [
'id' => ['type' => 'integer'],
'name' => ['type' => 'text', 'analyzer' => 'name_analyzer'],
],
],
'post_translations' => [
'properties' => [
// Title fields
'title_nl' => [
'type' => 'text',
'analyzer' => 'analyzer_nl',
'fields' => [
'keyword' => ['type' => 'keyword'],
'suggest' => ['type' => 'completion'],
]
],
'title_en' => [
'type' => 'text',
'analyzer' => 'analyzer_en',
'fields' => [
'keyword' => ['type' => 'keyword'],
'suggest' => ['type' => 'completion'],
]
],
'title_fr' => [
'type' => 'text',
'analyzer' => 'analyzer_fr',
'fields' => [
'keyword' => ['type' => 'keyword'],
'suggest' => ['type' => 'completion'],
]
],
'title_de' => [
'type' => 'text',
'analyzer' => 'analyzer_de',
'fields' => [
'keyword' => ['type' => 'keyword'],
'suggest' => ['type' => 'completion'],
]
],
'title_es' => [
'type' => 'text',
'analyzer' => 'analyzer_es',
'fields' => [
'keyword' => ['type' => 'keyword'],
'suggest' => ['type' => 'completion'],
]
],
// Excerpt fields
'excerpt_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'excerpt_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'excerpt_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'excerpt_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'excerpt_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
// Content fields
'content_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'content_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'content_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'content_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'content_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
// Publication date fields (FIXED FORMAT)
'from_nl' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'from_en' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'from_fr' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'from_de' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'from_es' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
// Publication end date fields (FIXED FORMAT)
'till_nl' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'till_en' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'till_fr' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'till_de' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'till_es' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
// Scheduled deletion date fields (FIXED FORMAT)
'deleted_at_nl' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'deleted_at_en' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'deleted_at_fr' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'deleted_at_de' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'deleted_at_es' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
// Status fields
'status_nl' => ['type' => 'keyword'],
'status_en' => ['type' => 'keyword'],
'status_fr' => ['type' => 'keyword'],
'status_de' => ['type' => 'keyword'],
'status_es' => ['type' => 'keyword'],
],
],
'post_category' => [
'properties' => [
'id' => ['type' => 'integer'],
'names' => [
'properties' => [
'name_nl' => [
'type' => 'text',
'analyzer' => 'analyzer_nl',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_en' => [
'type' => 'text',
'analyzer' => 'analyzer_en',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_fr' => [
'type' => 'text',
'analyzer' => 'analyzer_fr',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_de' => [
'type' => 'text',
'analyzer' => 'analyzer_de',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_es' => [
'type' => 'text',
'analyzer' => 'analyzer_es',
'fields' => ['keyword' => ['type' => 'keyword']]
],
],
],
],
],
],
],
'calls_index' => [
'properties' => [
'id' => ['type' => 'keyword'],
'__class_name' => ['type' => 'keyword'],
'callable' => [
'properties' => [
'id' => ['type' => 'integer'],
'name' => ['type' => 'text', 'analyzer' => 'name_analyzer'],
],
],
'tag' => [
'properties' => [
'tag_id' => ['type' => 'integer'],
'color' => ['type' => 'keyword'],
'name_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'name_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'name_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'name_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'name_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
],
],
'location' => [
'properties' => [
'city' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'division' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'country' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
],
],
'from' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis',
],
'till' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis',
],
'call_translations' => [
'properties' => [
'content_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'content_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'content_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'content_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'content_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
],
],
],
],
'users_index' => [
'properties' => [
'id' => ['type' => 'keyword'],
'__class_name' => ['type' => 'keyword'],
'name' => [
'type' => 'text',
'analyzer' => 'name_analyzer',
'fields' => [
'keyword' => ['type' => 'keyword'],
'suggest' => ['type' => 'completion'],
]
],
'email_verified_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'inactive_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'deleted_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'profile_completeness_score' => ['type' => 'float'],
'about_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'about_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'about_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'about_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'about_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'about_short_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'about_short_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'about_short_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'about_short_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'about_short_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'motivation_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'motivation_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'motivation_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'motivation_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'motivation_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'cyclos_skills' => ['type' => 'text', 'analyzer' => 'analyzer_general'],
'website' => ['type' => 'keyword'],
'locations' => [
'properties' => [
'district' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'city' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'division' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'country' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
],
],
'tags' => [
'properties' => [
'contexts' => [
'properties' => [
'categories' => [
'properties' => [
'name_nl' => [
'type' => 'text',
'analyzer' => 'analyzer_nl',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_en' => [
'type' => 'text',
'analyzer' => 'analyzer_en',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_fr' => [
'type' => 'text',
'analyzer' => 'analyzer_fr',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_de' => [
'type' => 'text',
'analyzer' => 'analyzer_de',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_es' => [
'type' => 'text',
'analyzer' => 'analyzer_es',
'fields' => ['keyword' => ['type' => 'keyword']]
],
],
],
'tags' => [
'properties' => [
'name_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'name_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'name_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'name_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'name_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
],
],
],
],
],
],
],
],
'organizations_index' => [
'properties' => [
'id' => ['type' => 'keyword'],
'__class_name' => ['type' => 'keyword'],
'name' => [
'type' => 'text',
'analyzer' => 'name_analyzer',
'fields' => [
'keyword' => ['type' => 'keyword'],
'suggest' => ['type' => 'completion'],
]
],
'email_verified_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'inactive_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'deleted_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'organization_type' => ['type' => 'keyword'],
'verified' => ['type' => 'boolean'],
'about_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'about_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'about_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'about_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'about_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'about_short_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'about_short_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'about_short_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'about_short_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'about_short_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'motivation_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'motivation_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'motivation_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'motivation_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'motivation_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'cyclos_skills' => ['type' => 'text', 'analyzer' => 'analyzer_general'],
'website' => ['type' => 'keyword'],
'locations' => [
'properties' => [
'district' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'city' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'division' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'country' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
],
],
'tags' => [
'properties' => [
'contexts' => [
'properties' => [
'categories' => [
'properties' => [
'name_nl' => [
'type' => 'text',
'analyzer' => 'analyzer_nl',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_en' => [
'type' => 'text',
'analyzer' => 'analyzer_en',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_fr' => [
'type' => 'text',
'analyzer' => 'analyzer_fr',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_de' => [
'type' => 'text',
'analyzer' => 'analyzer_de',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_es' => [
'type' => 'text',
'analyzer' => 'analyzer_es',
'fields' => ['keyword' => ['type' => 'keyword']]
],
],
],
'tags' => [
'properties' => [
'name_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'name_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'name_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'name_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'name_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
],
],
],
],
],
],
],
],
'banks_index' => [
'properties' => [
'id' => ['type' => 'keyword'],
'__class_name' => ['type' => 'keyword'],
'name' => [
'type' => 'text',
'analyzer' => 'name_analyzer',
'fields' => [
'keyword' => ['type' => 'keyword'],
'suggest' => ['type' => 'completion'],
]
],
'email_verified_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'inactive_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'deleted_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
'bank_type' => ['type' => 'keyword'],
'verified' => ['type' => 'boolean'],
'about_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'about_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'about_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'about_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'about_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'about_short_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'about_short_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'about_short_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'about_short_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'about_short_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'motivation_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'motivation_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'motivation_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'motivation_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'motivation_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
'website' => ['type' => 'keyword'],
'locations' => [
'properties' => [
'district' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'city' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'division' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
'country' => ['type' => 'text', 'analyzer' => 'locations_analyzer'],
],
],
'tags' => [
'properties' => [
'contexts' => [
'properties' => [
'categories' => [
'properties' => [
'name_nl' => [
'type' => 'text',
'analyzer' => 'analyzer_nl',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_en' => [
'type' => 'text',
'analyzer' => 'analyzer_en',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_fr' => [
'type' => 'text',
'analyzer' => 'analyzer_fr',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_de' => [
'type' => 'text',
'analyzer' => 'analyzer_de',
'fields' => ['keyword' => ['type' => 'keyword']]
],
'name_es' => [
'type' => 'text',
'analyzer' => 'analyzer_es',
'fields' => ['keyword' => ['type' => 'keyword']]
],
],
],
'tags' => [
'properties' => [
'name_nl' => ['type' => 'text', 'analyzer' => 'analyzer_nl'],
'name_en' => ['type' => 'text', 'analyzer' => 'analyzer_en'],
'name_fr' => ['type' => 'text', 'analyzer' => 'analyzer_fr'],
'name_de' => ['type' => 'text', 'analyzer' => 'analyzer_de'],
'name_es' => ['type' => 'text', 'analyzer' => 'analyzer_es'],
],
],
],
],
],
],
],
],
'transactions_index' => [
'properties' => [
'id' => ['type' => 'keyword'],
'__class_name' => ['type' => 'keyword'],
'description' => ['type' => 'text', 'analyzer' => 'analyzer_general'],
'relation_from' => ['type' => 'text', 'analyzer' => 'analyzer_general'],
'relation_to' => ['type' => 'text', 'analyzer' => 'analyzer_general'],
'from_account_id' => ['type' => 'integer'],
'to_account_id' => ['type' => 'integer'],
'amount' => ['type' => 'long'],
'currency' => ['type' => 'keyword'],
'status' => ['type' => 'keyword'],
'created_at' => [
'type' => 'date',
'format' => 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||strict_date_optional_time||epoch_millis'
],
],
],
],
'settings' => [
'default' => [
'number_of_shards' => 1,
'number_of_replicas' => 0,
'max_result_window' => 10000,
'analysis' => [
'filter' => [
'custom_keyword_marker' => [
'type' => 'keyword_marker',
'keywords' => ["Den Haag", "The Hague", "La Haye", "Den Haag", "La Haya"],
],
'locations_stop' => [
'type' => 'stop',
'stopwords' => [
// Dutch
"den",
"de",
"het",
"een",
"en",
"van",
"op",
"aan",
"in",
"voor",
"met",
"door",
"onder",
"boven",
"te",
"uit",
"bij",
"naar",
"om",
"tot",
"over",
"tussen",
"achter",
"voor",
"tegen",
"door",
"naast",
"langs",
"binnen",
"buiten",
"rond",
"sinds",
"onder",
"boven",
"langs",
"af",
// English
"the",
"and",
"of",
"a",
"an",
"in",
"on",
"at",
"by",
"for",
"with",
"from",
"to",
"into",
"through",
"over",
"under",
"behind",
"beside",
"between",
"around",
"near",
"throughout",
"since",
"above",
"below",
"up",
"down",
"before",
"after",
"during",
"while",
"among",
// French
"le",
"la",
"les",
"l'",
"de",
"du",
"des",
"un",
"une",
"d'",
"et",
"en",
"au",
"aux",
"Ã ",
"avec",
"par",
"pour",
"sur",
"sous",
"entre",
"vers",
"pendant",
"depuis",
"devant",
"derrière",
"chez",
// German
"der",
"die",
"das",
"des",
"dem",
"den",
"ein",
"eine",
"einem",
"einen",
"und",
"in",
"auf",
"an",
"mit",
"bei",
"nach",
"vor",
"über",
"unter",
"zwischen",
"neben",
"hinter",
"vorbei",
"durch",
// Spanish
"el",
"la",
"los",
"las",
"un",
"una",
"unos",
"unas",
"de",
"del",
"al",
"a",
"con",
"en",
"por",
"para",
"sobre",
"bajo",
"ante",
"desde",
"hacia",
"entre",
"tras",
"durante",
"según",
"sin",
"hasta",
],
],
'dutch_stop' => ['type' => 'stop', 'stopwords' => '_dutch_'],
'english_stop' => ['type' => 'stop', 'stopwords' => '_english_'],
'french_stop' => ['type' => 'stop', 'stopwords' => '_french_'],
'german_stop' => ['type' => 'stop', 'stopwords' => '_german_'],
'spanish_stop' => ['type' => 'stop', 'stopwords' => '_spanish_'],
'dutch_stemmer' => ['type' => 'stemmer', 'language' => 'dutch'],
'english_stemmer' => ['type' => 'stemmer', 'language' => 'english'],
'french_stemmer' => ['type' => 'stemmer', 'language' => 'french'],
'german_stemmer' => ['type' => 'stemmer', 'language' => 'german'],
'spanish_stemmer' => ['type' => 'stemmer', 'language' => 'spanish'],
'edge_ngram_filter' => [
'type' => 'edge_ngram',
'min_gram' => 2,
'max_gram' => 20,
],
],
'tokenizer' => [
'edge_ngram_tokenizer' => [
'type' => 'edge_ngram',
'min_gram' => 2,
'max_gram' => 20,
'token_chars' => ['letter', 'digit'],
],
],
'analyzer' => [
'locations_analyzer' => [
'tokenizer' => 'standard',
'filter' => [
'lowercase',
'custom_keyword_marker',
'locations_stop',
'edge_ngram_filter',
],
],
'name_analyzer' => [
'tokenizer' => 'standard',
'filter' => [
'lowercase',
'edge_ngram_filter',
],
],
'analyzer_nl' => [
'tokenizer' => 'standard',
'filter' => [
'lowercase',
'custom_keyword_marker',
'dutch_stop',
'dutch_stemmer',
],
],
'analyzer_en' => [
'tokenizer' => 'standard',
'filter' => [
'lowercase',
'custom_keyword_marker',
'english_stop',
'english_stemmer',
],
],
'analyzer_fr' => [
'tokenizer' => 'standard',
'filter' => [
'lowercase',
'custom_keyword_marker',
'french_stop',
'french_stemmer',
],
],
'analyzer_de' => [
'tokenizer' => 'standard',
'filter' => [
'lowercase',
'custom_keyword_marker',
'german_stop',
'german_stemmer',
],
],
'analyzer_es' => [
'tokenizer' => 'standard',
'filter' => [
'lowercase',
'custom_keyword_marker',
'spanish_stop',
'spanish_stemmer',
],
],
'analyzer_general' => [
'type' => 'custom',
'tokenizer' => 'standard',
'filter' => ['lowercase'],
],
'search_analyzer' => [
'tokenizer' => 'standard',
'filter' => ['lowercase'],
],
'autocomplete_analyzer' => [
'tokenizer' => 'edge_ngram_tokenizer',
'filter' => ['lowercase'],
],
],
],
],
],
],
];