Initial commit
This commit is contained in:
878
config/elasticsearch.php
Normal file
878
config/elasticsearch.php
Normal file
@@ -0,0 +1,878 @@
|
||||
<?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'],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user