Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 9077|Yanıt: 0

Elasticsearch:No handler for type [string] declared on field[XX]的解决办法

[Bağlantıyı kopyala]
Yayınlandı 9.01.2019 10:29:11 | | | |
Hata nedeni

{
"hata": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "[upload_status]] sahasında ilan edilen [string] tipi için handler yok"
}
],
"type": "mapper_parsing_exception",
"reason": "[upload_status]] sahasında ilan edilen [string] tipi için handler yok"
},
"durum": 400
}


Elasticsearch sürüm 6.2.2 kullanıyorum ve okul dokümantasyonuna göre alanlar oluştururken {"type":"string","index":"not_analyzed"} kullanıyorum.

Neden analizi

Yazımını kontrol ettikten sonra, sürüm sorunu nedeniyle daha önce baş eklentinin kurulum yönteminin üzerine bastığım için Elasticsearch özelliklerinin yeni sürümünü kontrol etmeye karar verdim.
Gerçekten de, Elasticsearch metin ve anahtar kelimeyi 5.X'ten tanıttı; burada anahtar kelime segmentasyon dışı alanlara uygulanır ve yalnızca arama sırasında tam olarak eşleşebilir, bu noktada dizi hâlâ korunur.

vardı6.X diziyi tamamen kaldırırBitirmek.

Bunun dışında"Indeks" değeri yalnızca bir boolean değişken olabilir

Çözüm

{"type":"text","index":false}

Yani, json değişikliği şöyledir:

Ancak aşağıdaki gibi yeni hatalar var:

{
"hata": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "[restraunt]'a eşleme güncellemesini reddediyorum, çünkü nihai eşlemede birden fazla tür olur: [kayıt, bilgi]"
}
],
"type": "illegal_argument_exception",
"reason": "[restraunt]'a eşleme güncellemesini reddediyorum, çünkü nihai eşlemede birden fazla tür olur: [kayıt, bilgi]"
},
"durum": 400
}
Bunun nedeni:Elasticsearch 6.x'te büyük bir değişiklik; Haritalama sadece bir tipe izin verir。 5.x'te birden fazla eşleme tipiyle oluşturulan indeksler, Elasticsearch 6.x'te önceki gibi çalışmaya devam edecektir. Eşleme türleri Elasticsearch 7.0.0'da tamamen kaldırılacaktır.

Elasticsearch 7.x sürümünden sonra, typeURL'deki parametre isteğe bağlıdır. Örneğin, belgeleri indekslemek artık bir belge türü gerektirmez

Kaynaklar:

https://github.com/sirensolutions/sentinl/issues/257
https://www.elastic.co/guide/en/ ... moval-of-types.html







Önceki:MD5 şifreleme
Önümüzdeki:C# kodu bilgisayarınızı kapatma, yeniden başlatma, çıkış, kilitleme, kapatma gibi şeyleri nasıl sağlıyor...
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com