2015-03-04 8 views
5

Java'da, ElasticSearch'ün üst kısmında yer alan bazı hafif hizmet ve veri erişim katmanlarını tanımlamanın basit yollarını arıyorum. POJO veri nesnelerimin doğal olarak camelCase'de mülkiyet isimleri olacak, ama ben ElasticSearch türündeki eşlemelerde alan adları için camelCase kullanmam gerekip gerekmediğini merak ediyorum. Veri havuzu dünyasında, özellikle de geleneksel RDBMS'de, alan adları kesinlikle deve kasedi değildir. Yanılmıyorsam, NoSql dünyasında alt alanların alan adlarında kullanılması gibi bir eğilim var gibi görünüyor. İsim. Bu ElasticSearch için yaygın bir uygulama mı? Öyleyse, bu demek oluyor ki, camelCase ve alt alan alan adları arasında ileri ve geri haritalama yapabilen bir Jackson tabanlı dönüşüm hizmetini yapılandırmam gerekiyor mu?ElasticSearch'te alan adları için en iyi yöntemler

cevap

2

Sadece uygulamanız için en iyi olanı yapın. Bir haritalama servisine sahip olmak, özellikle büyük miktarlarda verilerle, işleri yavaşlatacak olan ek yükü sunar. Öncelikle JavaScript uygulamaları ile kullanıyorum ve camelCase kullanıyorum.

+0

Dizin/tip alan adlarında alt çizgi kullanırsam, camelCase Java özellikleri ile alt çizgi tabanlı ElasticSearch alan adları arasında ileri ve geri haritalama yapmam gerekecek. Jackson gibi ek açıklama tabanlı çerçeveler, bunu nispeten ağrısız hale getirmelidir. –

+1

Evet, alt çizgi kullandığınız takdirde. Yani sadece alt çizgiler kullanmayın. Dediğim gibi, uygulama için en iyisini yapın. Elasticsearch ile adlandırma ile herhangi bir sözleşme veya en iyi uygulama yoktur. Uygulamanız için en uygun olan sözleşmeleri kullanın. ES, çok miktarda veriyi çok hızlı bir şekilde işlemek üzere tasarlanmıştır. Bir harita katmanının eklenmesi, herşeyi yavaşlattığı için bu amaca yöneliktir. –