Dizin Girişleri Oluşturma – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Dizin Girişleri Oluşturma
Şimdiye kadar, dizinde zaten mevcut olan dizin girişlerine erişiyorduk. Şimdi DirContext’in createSubcontext() yöntemini kullanarak kendi dizin girdilerimizi nasıl oluşturacağımızı öğrenme zamanı geldi.
Daha önce tartıştığımız gibi, bir Bağlam nesnesinin alt bağlamını oluşturduğunuzda, hizmet sağlayıcı oluşturulan nesnenin türünü kontrol eder. DirContext ile durum böyle değildir; aslında createSubcontext() ile oluşturduğunuz nesnenin türü üzerinde tam kontrole sahipsiniz (elbette dizin şemasının kısıtlamaları dahilinde).
Daha önce belirttiğim gibi, nesne sınıfı tanımı bir dizin girişinin türünü belirler ve giriş, nesne sınıfını bir öznitelik olarak saklar. Bu nedenle, bir dizin girişi oluşturmak için, nesne sınıfı özniteliğini ve diğer bazı öznitelikleri üst girdinin createSubcontext() yöntemine geçirmemiz gerekir.
Çoğu dizin, bir dizin girişinin en azından nesne sınıfı tanımı (ör. “objectclass=”) ve anahtar niteliği (ör. ortak ad, “cn=”) için nitelikler belirtmenizi gerektirir. Çoğu zaman dizinler, yalnızca bunlardan daha fazla özellik belirtmenizi gerektirir. Bir dizin girişi oluşturmak için gerekli olan minimum öznitelik kümesine zorunlu öznitelikler denir.
Bunlar zorunludur çünkü bunları belirtmezseniz createSubcontext() bir InvalidAttributesException oluşturur. Gerekli olmayan ancak girdiye daha yararlı veriler ekleyen diğer niteliklere genişletilmiş nitelikler denir.
Diyelim ki orgUnit adında bir DirContext referansımız var (burada bu dizin girişi bir LDAP v3 dizininde bulunur) ve ağ kullanıcısını Billy Roberts’ı temsil edecek orgUnit’in alt öğesi olan bir kullanıcı girişi oluşturmak istiyoruz. İşte Billy için nasıl bir kullanıcı girişi oluşturabileceğimiz.
DirContext’in createSubcontext() yönteminin, Context’in createSubcontext() yöntemine benzediğini unutmayın; tek fark, bir Nitelikler parametresinin eklenmesidir. Bu örnekte, bir BasicAttributes nesnesi oluşturuyoruz ve içine üç özellik koyuyoruz. Buradaki tüm özellik değerleri String nesneleri olsa da (çünkü bir LDAP dizini bunu gerektirir), JNDI API, herhangi bir türde nesneyi bir özellik değeri olarak belirtmenize izin verir.
Bu örnekte orgUnit, altında Billy Roberts’ın yeni oluşturulan kullanıcı girişinin bulunduğu bir kuruluş birimini temsil eder. Bir LDAP dizininde kuruluş birimi, bir şirketin bir bölümünü temsil eden bir nesne sınıfı tanımıdır ve kullanıcı, ağ kaynaklarını kullanan bir kişiyi temsil eden bir nesne sınıfı tanımıdır.
Bir şirket bölümünün bir kişiyi içermesi doğaldır, ancak bunun tersi yönde işlemesi gerekmez; bir kullanıcının bir kuruluş birimi içermesi mantıklı değildir. LDAP şeması bu kuralları belirler ve ayrıca “objectclass” özniteliği için kullanabileceğimiz değerleri belirtir (örnek kodda “user” buradan gelir).
Kendi dizin girişlerinizi oluştururken, kullandığınız dizinin şemasına başvurduğunuzdan emin olun. Belirli bir DirContext altında bulunamayan bir giriş türü oluşturmaya çalışırsanız veya “objectclass” özniteliği için yanlış bir değer belirtirseniz, createSubcontext() bir istisna atar.
Dizin Arama
Bir dizin hizmetinin sunabileceği en yararlı özelliklerden biri, belirli ölçütleri karşılayan öznitelik değerlerine sahip girişlerini arama yeteneğidir. JNDI, dizin sistemlerinde bu tür aramayı destekler; bu, JNDI uygulamalarınızda arama işlevselliğini uygulayabileceğiniz anlamına gelir. DirContext, ne aradığınızı belirtmenize ve aramanın nasıl çalıştığını kontrol etmenize izin veren bir dizi farklı arama() yöntemi sağlar.
Dizin örneği
Kitap indeksi nasıl hazırlanır
Kitapta dizin örneği
Dizin oluşturma
Kavram dizini nasıl hazırlanır
Arama dizini oluşturma kapatıldı
Word kisaltmalar listesi oluşturma
Dizin hazırlama programı
Arama Kriteri
Ne aradığınızı belirtmenin iki yolu vardır. Daha basit teknik, arama kriterleri olarak hizmet eden bir dizi özellik yaratmaktır. Bu durumda, bir öznitelik değeri ayarlayabilirsiniz, yani bir girişin eşleşmesi için bu öznitelik değerine sahip olması gerekir veya değer ne olursa olsun özniteliğe sahip tüm girişlerin eşleşmesi için değeri boş bırakabilirsiniz.
Arama ölçütlerini belirtmenin daha esnek yolu, bir arama filtresi dizesidir. Bir arama filtresi, RFC−2254’te belirtilen LDAP arama sözdizimini kullanarak arama kriterlerini ifade etmenize olanak tanır. Bu sözdiziminin yalnızca LDAP ile değil, tüm JNDI sağlayıcılarla çalıştığını unutmayın; her türlü dizini aramak için JNDI standardıdır. Arama filtresi, aşağıdaki genel biçimi alan bir Dizgedir.
Arama Sonuçları
Arama ölçütlerini nasıl belirttiğinizden bağımsız olarak, çağırdığınız search() yöntemi, SearchResult nesnelerinin bir NamingEnumeration’ını döndürür. Arama kriterleriyle eşleşen her dizin girişi için bir SearchResult vardır.
SearchResult, normal ad, sınıf adı ve nesne ile birlikte bir Öznitelikler kümesini depolayan Binding’in doğrudan bir alt sınıfıdır. (Kısaca göreceğimiz gibi, ayarladığınız SearchControls’e bağlı olarak SearchResult’taki nesne boş olabilir.)
Bir arama işlemi bir NamingEnumeration döndürdüğü için, numaralandırmanın next() yönteminden döndürdüğü nesneyi bir SearchResult nesnesine dönüştürmeniz gerekir. Bunu yaptıktan sonra, eşleşen girdi hakkında diğer bilgileri almak için getAttributes() yöntemiyle öznitelikleri alabilir ve Binding’den (ve NameClassPair) devralınan yöntemleri kullanabilirsiniz.
Arama Kontrolleri
Bir SearchControls nesnesi alan search() yöntemleri, bir aramanın nasıl çalıştığını kontrol etmenize olanak tanır. Diğer şeylerin yanı sıra bir aramanın kapsamını, aramanın nesneleri döndürmesi gerekip gerekmediğini ve aramanın alması gereken maksimum süreyi ayarlayabilirsiniz. Bir SearchControls nesnesi oluşturmanın en kolay yolu, varsayılan kurucuyu kullanmak ve ardından belirli arama özelliklerini ayarlamak için çeşitli set() yöntemlerini çağırmaktır.
Örneğin, setSearchScope() yöntemi, aramanın eşleşen dizin girişlerini nerede araması gerektiğini kontrol eder. Çoğu zaman, bir SearchControls nesnesinin kapsamını tüm bir alt ağacı arayacak şekilde ayarlarsınız, ancak aramayı bir nesne veya onun alt öğeleriyle de sınırlayabilirsiniz.
setReturningObjFlag() yöntemi, bir aramanın sonuçlarının gerçek dizin girişlerine referanslar mı yoksa sadece girişlerin adlarını ve sınıf adlarını mı içerdiğini belirler. Varsayılan davranış, gerçek girişleri döndürmek değildir; bu, bir SearchResult üzerinde getObject() işlevinin çağrılmasının boş değer döndürdüğü anlamına gelir.
SearchControls nesnesi, bir arama davranışının diğer yönlerini de belirlemenize olanak tanır:
• Dizinin arama sonuçlarını döndürmesi için beklenecek milisaniye sayısı (varsayılan olarak, bir arama ne kadar sürerse o kadar uzun sürebilir)
• Aramadan döndürülebilecek girişlerin sayısı (varsayılan olarak, mevcut olduğu kadar çok)
• Aramayı bitirmek için bağlantıların takip edilip edilmeyeceği (varsayılan olarak hayır)
• Varsa hangi özniteliklerin döndürüleceği (varsayılan olarak tümü)
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)