Я хочу указать c тип данных / отображение вasticsearch для определенных полей. прикрепление отображения индекса ниже. и я хочу синхронизировать c мои данные MongoDB с эластичным поиском в режиме реального времени. Я нашел несколько библиотек, которые поддерживают syn c функциональность: mon go -коннектор , composer транспортер и ab c
Все это работает без предопределенного отображения индекса. Но когда я добавляю пользовательское отображение в это время, функциональность syn c не работает между этой коллекцией и индексированием MongoDB иasticsearch.
Пользовательское отображение
curl -X PUT "http://localhost:9200/products_sync?pretty" -H 'Content-Type: application/json' -d'
{
"settings": {
"index": {
"analysis": {
"filter": {},
"analyzer": {
"keyword_analyzer": {
"filter": [
"lowercase",
"asciifolding",
"trim"
],
"char_filter": [],
"type": "custom",
"tokenizer": "keyword"
},
"edge_ngram_analyzer": {
"filter": [
"lowercase"
],
"tokenizer": "edge_ngram_tokenizer"
},
"edge_ngram_search_analyzer": {
"tokenizer": "lowercase"
},
"singular_plural_analyzer": {
"type": "snowball"
}
},
"tokenizer": {
"edge_ngram_tokenizer": {
"type": "edge_ngram",
"min_gram": 2,
"max_gram": 5,
"token_chars": [
"letter"
]
}
}
}
}
},
"mappings": {
"properties": {
"Art Medium": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"Artwork Surface": {
"type": "keyword"
},
"active": {
"type": "long"
},
"attributes": {
"properties": {
"Art Medium": {
"properties": {
"active": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"filterable": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"value_display": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"values": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
},
"brand_id": {
"type": "long"
},
"category_ids": {
"type": "keyword"
},
"category_processed": {
"type": "long"
},
"id": {
"type": "long"
},
"keywords": {
"type": "keyword"
},
"meta_desc": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"model_number": {
"type": "keyword"
},
"name": {
"type": "keyword"
},
"new": {
"type": "long"
},
"price": {
"type": "double"
},
"primary_image_url": {
"type": "keyword"
},
"product_pdf_url": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"search_normal": {
"type": "keyword"
},
"search_singular_plural": {
"type": "text",
"fields": {
"completion": {
"type": "completion",
"analyzer": "simple",
"preserve_separators": true,
"preserve_position_increments": true,
"max_input_length": 50
},
"edgengram": {
"type": "text",
"analyzer": "edge_ngram_analyzer",
"search_analyzer": "edge_ngram_search_analyzer"
},
"keywordstring": {
"type": "text",
"analyzer": "keyword_analyzer"
}
},
"analyzer": "singular_plural_analyzer"
},
"slug": {
"type": "keyword"
},
"uom": {
"type": "keyword"
},
"update_date": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
'