Azure servisleri ile devam ;)
Azure üzerinde bulunan HockeyApps ve Applicatioın Insight'dan bahsedeceğim. Daha sonra derinlemesine bir bakış ve arkasından da video'su gelecek ;)
HockeyApp, canlı masaüstü ve mobil uygulamaları izlemek için önerilen platformdur. HockeyApp'dan, kullanımı monitor etmek ve trace'e yardımcı olmak için (cresh verilerinin alınmasına ek olarak) özel ve izleme telemetri gönderebilirsiniz. Bu telemetri akışı Azure Application Insights'ın güçlü Analytics özelliğini kullanarak sorgulanabilir olur ve siz de gerekli değişiklikleri rahat bir şekilde yapabilirsiniz. Bunlara ek olarak, özel ve izleme telemetri verebilirsiniz. Bu özellikleri etkinleştirmek için, HockeyApp verilerini Uygulama Analizlerine aktaran bir köprü kurmamız yeterli olacaktır.
Öncelikli olarak bu köpşri "bridge" kurumu hakkında biraz bilgi vermek istiyorum.
HockeyApp Bridge uygulaması
Analytics ve Sürekli Dışa Aktarma özellikleri aracılığıyla Uygulama Analizlerinde HockeyApp verilerinize erişmenizi sağlayan temel özelliktir. HockeyApp Köprüsü Uygulaması oluşturulduktan sonra HockeyApp tarafından toplanan veriler, bu özelliklerden erişilebilir olacaktır. Şimdi bu Bridge Uygulamalarından birini nasıl kuracağımıza göz atalım.
İlk olarak https://rink.hockeyapp.net adresine gidip gerekli ayarları yapmak gerekiyor.
Login olduktan sonra, hangi platform için HockeyApps uygulamasını kullanacaksanız onu seçmeniz gerekiyor.
Daha sonrasında uygulama entegrasyonu için bazı ayarları yapmamız gerekiyor. Ben Android seçerek yoluma devam ettim, bilginiz olsun.
Bu adımı geçtikten sonra bize bize Add Dependency "bağımlıklık ekleme" ile ilgili bilgileri ve ufak kod parçalarını veriyor. Bunu yaparken bazı önerileri vermekten de kaçınmıyor :)
- HockeySDK'yi projenize entegre etmenin en iyi yolu, Android Studio'da bir Gradle bağımlılığı sağlamaktır. SDK'yı manuel olarak entegre etmeyi tercih ederseniz, GitHub'daki ayrıntılı rehberimize gidin.
- Uygulamanızın build.gradle dosyasını açın ve SDK'yi bağımlılıklara ekleyin:
- Ayrıca, depo yapılandırmanızın jCenter deposunu içerdiğinden emin olun diyor
repositories {
jcenter()
}
ve son adımda ise direk olarak entegrasyon bilgileri ve kodları mevcut.
- Modülünüzün build.gradle dosyasını açın.
- Yapılandırmanıza aşağıdaki bildirge yer tutucuyu ekleyin (genellikle defaultConfig):
manifestPlaceholders = [HOCKEYAPP_APP_ID: "27a8f1bc41cd4f1e8e71c6141555289c"]
Build.gradle dosyanızı kaydedin ve bir Gradle yapı senkronizasyonu tetiklediğinden emin olun.
- AndroidManifest.xml dosyanızı açın ve HockeySDK için bir meta veri etiketi ekleyin.
<application>
//your activity declarations and other stuff
<meta-data android:name="net.hockeyapp.android.appIdentifier" android:value="${HOCKEYAPP_APP_ID}" />
</application>
- AndroidManifest.xml dosyanızı kaydedin.
Son adım olarak da;
CrashReporting ve Beta-Distribution Ekleme işlemini gerçekleştiriyoruz.
import net.hockeyapp.android.CrashManager;
public class YourActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Your own code to create the view
// ...
checkForUpdates();
}
@Override
public void onResume() {
super.onResume();
// ... your own onResume implementation
checkForCrashes();
}
@Override
public void onPause() {
super.onPause();
unregisterManagers();
}
@Override
public void onDestroy() {
super.onDestroy();
unregisterManagers();
}
private void checkForCrashes() {
CrashManager.register(this);
}
private void checkForUpdates() {
// Remove this for store builds!
UpdateManager.register(this);
}
private void unregisterManagers() {
UpdateManager.unregister();
}
}
HockeyApps tarafında bu bilgileri aldıktan sonra işimiz artık AZure Portaldan devam edeceğiz. İlk olarak Azure Portal'a giriş yapıyoruz. Daha sonra biraz önceki adımlarda eklde ettiğimiz AppId ile işlemlerimizi devam ettireceğiz.
Her hangi bir ad ayarlamanıza gerek yoktur - bu, otomatik olarak HockeyApp tarafında verdiğiniz ad ile ayarlanır.
Daha sonra iş Application Insight tarafına geliyor.
Daha önce not ettiğiniz HockeyApp token'ını girelim. Bu işlem, "HockeyApp Uygulaması" açılır menüsünü tüm HockeyApp uygulamalarınızla doldurur. Kullanmak istediğinizi seçin ve alanların geri kalanını tamamlayın.
Yeni resource kaynağımızı açalım ve Verilerin akmaya başlamasının biraz zaman aldığını unutmayalım lütfen :)
Aslında hepsi Bu kadar!
Bu noktadan itibaren HockeyApp cihazınızdaki uygulamada toplanan tüm veriler, artık Uygulama İncelemelerinin Analytics ve Sürekli Dışa Aktarma özelliklerinde de mevcuttur.
Şimdi, bu özelliklerin her birini kısaca gözden geçirelim.
Analytics
Verilerinizi geçici olarak sorgulamak için güçlü bir araçtır ve telemetrinizi teşhis etmenize ve analiz etmemize hızlı bir şekilde keşfetmenize olanak tanır. Ben, bana ve ya burada yaptı��ım örnek ile alakası olmayan ama bir şeyleri görmenize yaracak Örnek bir analiz resmi paylaşıyorum sizlerle ;)
Bendeki veriler akmaya başladığında, silerle kendime ait olan analizi de paylaşacağım.
Sormak istediğiniz birşey olursa ne yapmanız gerektiğini biliyorsunuz ;)
Azure servisleri ile malalere deva ;)
Bu sefer Azure Search servis ile devam edeceğiz. Peki nedir bu Azure Search Service ?
Azure Search, web sitenizdeki, uygulamalarınızdaki ve kurumsal dosya veya veri mağazalarındaki içerik için arama çubuğunuzu güçlendirmek için akıllı arama davranışlarına sahip özel ve programlanabilir bir arama motoru sunar.
Sağlam bir arama deneyimine sahip olmak, çoğu web ve mobil uygulamaların bir zorunluluktur. Deneyime destek veren teknik karmaşıklığa rağmen, otomatik tamamlanan sorgu terimleri, yazım düzeltmeleri ve semantik olarak özdeş ama yüzeysel olarak farklı girdilere ("araba" ve "otomatik") dayanan eşlemelerle tam metin araması neredeyse minimum çubuktur. Arama ve arka uç veri mağazaları arasındaki ölçek, güvenilirlik ve senkronizasyon için de operasyonel gereklilikler aynı derecede önemlidir.
Azure Search hem arama hem de operasyonel gereksinimleri karşılayabilmek için kapsamlı işlevsellik sağlar.
Peki Nasıl Çalışır ?
Azure Aramasını kullanmak için, Azure aboneliğinizde ücretsiz veya ücretli bir hizmet hazırlayın, aranabilir içeriğinizi içeren bir dizin oluşturun ve yükleyin ve daha sonra arama istekleri vermek ve sonuçları işlemek için API'ları çağırın.
Azure Search, bulutta Microsoft'un yönetilen bir hizmeti olarak çalışır. Herhangi bir uygulama platformunda özel kod ile entegre edilebilir. Tam yönetilen hizmetiniz ve özel içeriğiniz küresel olarak kullanılabilir, programlanabilir, ölçeklenebilir ve kurtarılabilir.
Çeşitli bulut servis sağlayıcıları, özel uygulamalarda bir arama çubuğuna güç veren özellikler içeren özel arama motorları sunar. Bazıları, tam metin arama, coğrafi arama ve arama girdilerinde belirli bir belirsizlik düzeyini işleme kabiliyeti bulunan benzer temel özellikleri sunar. Genellikle, bu, uzmanlaşmış bir özelliktir veya API'ların, araçların ve yönetimin kolaylığı ve genel kolaylığı en uygun olanı belirlemektedir.
Diğer arama çözümleriyle karşılaştırıldığında, Azure Search, bilgi alışverişinde ve içerikte gezinmeye ağırlık veren uygulamalar için gerekli işlevsellik katmanıyla, Azure'de içerik mağazaları ve veritabanları üzerindeki tam metinli arama iş yükleri için en güçlü servis olarak karşımıza çıkıyor denilebilir.
Kilit güçler şunları içerir:
Dizin oluşturma katmanında Azure veri entegrasyonu (tarayıcılar)- Merkezi yönetim için Azure portalı
- Azure ölçeği, güvenilirlik ve birinci sınıf kullanılabilirlik
- 56 dilde eksiksiz tam metin araması için analizörler ile dil ve özel analiz
- Arama, merkezli uygulamalarda (alaka düzeyi, yüzeyler, öneri, eşanlamlılar, coğrafi aramalar ve daha fazlası) (aşağıda listelenen) ortak özelliktir.
Azure Search'teki en geniş özellik yelpazesinden yararlanabilecek kullanım durumları, çevrimiçi kataloglar, iş programı satırı ve belge keşif uygulamaları içerir.
Full text search ve text analysis:
Sorgular, mantıksal operatörler, öbek arama operatörleri, son ek operatörleri ve öncelik operatörleri sunan basit sorgu sözdizimini kullanarak formüle edilebilir.
Ayrıca, Lucene sorgu sözdizimi, bulanık arama, yakınlık arama, terim artırma ve düzenli ifadeleri etkinleştirebilir. Azure Arama ayrıca, uygulamanızın fonetik eşleme ve normal ifadeler kullanarak karmaşık arama sorgularını işlemesine izin vermek için özel lexical analyzer'leri desteklemektedir.
Dil Desteği:
Azure Search, 56 farklı dilde sözlük analizcilerini destekler. Azure Search, hem Lucene analizcilerini hem de Microsoft analizcilerini (Office ve Bing'in yıllarca doğal dil işleme yoluyla rafine edilmiş halini kullanarak) kullanarak, uygulamanızın arama kutusundaki metni, fiil zamanları, cinsiyetleri ve düzensiz çoğul isimleri içeren dil özel dilbilimlerini akıllıca işlemek için analiz edebilir , 'Fare' vs. 'fare'), sözcük ayrıştırma, kelime kırma (boşlukları olmayan diller için) ve daha fazlası.
Data Entegrasyonu:
Bir Azure Arama dizinini oluşturmak için JSON veri yapılarını kullanabilirsiniz. Ayrıca, desteklenen veri kaynakları için, arama dizininin içeriğini birincil veri deposunuzla senkronize etmek için dizinleyicileri Azure SQL Veritabanı, Azure DocumentDB veya Azure Blob deposunu otomatik olarak taramak için kullanabilirsiniz.
Belge kırma, Microsoft Office, PDF ve HTML belgeleri de dahil olmak üzere büyük dosya formatlarının endekslenmesini sağlar.
Search Deneyimi:
Arama önerileri, otomatik tamamlanan arama çubukları ve ön yazım sorguları için etkinleştirilebilir. Kullanıcılar kısmi arama girişi yaparken dizindeki gerçek belgeler önerilir.
Faceted navigasyon, yalnızca tek bir sorgu parametresi aracılığıyla etkinleştirilir. Azure Arama, kendiliğinden yönlendirmeli filtreleme için (örneğin, fiyat aralığına veya markaya göre katalog öğelerine filtre uygulamak için) bir kategori listesi arkasındaki kod olarak kullanabileceğiniz, yüze ayrılmış bir gezinme yapısını döndürür.
Filtreler, uygulamanızın arayüzüne faset gezintiyi dahil etmek, sorgu formülasyonunu geliştirmek ve kullanıcı veya geliştiricinin belirttiği ölçütlere dayalı olarak filtrelemek için kullanılabilir. OData sözdizimini kullanarak filtreler oluşturun.
Vurgulu vurgulama, görsel biçimlendirmeyi, eşleşen bir anahtar kelimeye arama sonuçlarında uygular. Hangi alanların vurgulanan snippet'leri döndüreceğini seçebilirsiniz.
Basit puanlama, Azure Search'in önemli bir yararıdır. Puanlama profilleri, alaka düzeyini belgelerdeki değerlerin bir fonksiyonu olarak modellemek için kullanılır. Örneğin, daha yeni ürünler veya indirimli ürünlerin arama sonuçlarında daha yüksek görünmesini isteyebilirsiniz. Ayrı olarak izlediğiniz ve depoladığınız müşteri arama tercihlerine dayalı olarak kişiselleştirilmiş puanlama etiketleri kullanarak puanlama profilleri de oluşturabilirsiniz.
Sıralama, birden çok alan için dizin şeması aracılığıyla sağlanır ve daha sonra sorgu zamanında tek bir arama parametresi ile değiştirilir.
Azure Search'in arama sonuçlarınıza sunduğu ince ayarla, arama sonuçlarınızı sayfalama ve azaltma işlemi basitleşti.
GeoSearch:
Azure Arama, coğrafi yerleri akıllıca işler, filtreler ve görüntüler. Kullanıcıların, bir arama sonucunun belirli bir yere yakınlığı veya belirli bir coğrafi bölgeye dayalı olarak verileri keşfetmelerini sağlar.
Bulut hizmeti avantajları:
Yüksek kullanılabilirlik, son derece güvenilir arama hizmeti deneyimi sağlar. Azaltılmış Arama, düzgün ölçeklendirildiğinde% 99.9'luk bir SLA sunar.
Tamamen uçtan-uca bir çözüm olarak yönetilen Azure Search, hiçbir altyapı yönetimini gerektirmez. Hizmetiniz daha fazla doküman depolama alanı, daha yüksek sorgu yükleri veya her ikisini birden işlemek üzere iki boyutta ölçeklendirme yaparak ihtiyaçlarınıza göre uyarlanabilir.
İzleme ve raporlama
Arama trafiği analizi, kullanıcıların arama kutusuna yazdıklarından edindiği bilgilere ulaşmak için toplanır ve analiz edilir.
Saniyedeki sorgulara ilişkin ölçümler, gecikme ve kısma, ek yapılandırma gerektirmeden portal sayfalarında yakalanır ve raporlanır. Ayrıca, kapasiteyi gerektiği gibi ayarlayabilmeniz için dizin ve belge sayılarını kolayca izleyebilirsiniz.
REST API | .Net SDK
Azure Search, arama işlevselliğini mevcut uygulamalara entegre etmek isteyen geliştiriciler için tasarlanmıştır. Hızlı bir şekilde uygulamarımızda kullanmamız için tasarlandığı için bizler için büyük bir avantaj sunmaktadır.
Açıkçası ben sevdim. Kısa bir süre içerisinde bu konu ile ilgili olarak bir makale ve bir video da çekmeyi planlıyorum. Ama öncesinde bir giriş yapmak istedim. Bu arada, artık makalelerimin bir çokğunu video ile destekleme kararı aldım, bilginiz olsun ;)