strict_dynamic_mapping_exception: strict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed
ElasticsearchNe demek?
Index veya nesne mapping'i "dynamic": "strict" olarak ayarlı olduğu için, mapping'de tanımlı olmayan yeni bir alan içeren belge reddedildi. Strict mod, şema dışı alanların sessizce eklenmesini önler.
Neden olur?
Belgede mapping'de bulunmayan bir alanın gönderilmesi (yazım hatası, yeni alan, beklenmeyen alan) ve mapping'in dynamic:strict olması. Genellikle şema kontrolünü sıkı tutmak için bilinçli konulan bir korumadır.
Nasıl çözülür?
Belgedeki fazladan/yazımı hatalı alanı düzeltin veya kaldırın. Alan gerçekten gerekliyse önce mapping'e ekleyin: PUT /index-adi/_mapping {"properties": {"yeni_alan": {"type": "..."}}}. Yeni alanların otomatik eklenmesini istiyorsanız dynamic ayarını "true" veya kaydedilip indekslenmeyecekse "false" yapın. Şema disiplinini korumak için strict modu bilinçli kullanın.
Aynı motorda diğer kayıtlar
- high_disk_watermark_exceededhigh disk watermark [90%] exceeded / flood stage disk watermark [95%] exceeded
- circuit_breaking_exceptionCircuitBreakingException[[parent] Data too large, data for [<...>] would be [...], which is larger than the limit of [...]]
- mapper_parsing_exceptionmapper_parsing_exception: failed to parse field [...] of type [...]
- illegal_argument_exception_fielddataillegal_argument_exception: Fielddata is disabled on text fields by default. Set fielddata=true on [your_field] in order to load fielddata in memory
- search_phase_execution_exceptionsearch_phase_execution_exception: all shards failed / Failed to execute phase [query]
- too_many_clausestoo_many_clauses: maxClauseCount is set to 1024 (query contains too many clauses)
- version_conflict_engine_exceptionversion_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409)