Kapsam kurallarını yönetme

Gezinme Kapsamı Yöneticisi (CSM), WINDOWS Search gezinme kapsamında URL'leri içeren veya dışlayan kapsam kuralları tanımlamanızı sağlar.

CSM aşağıdakileri yapmanıza olanak tanır:

  • Çalışma kuralı kümesine yeni kapsam kuralları ekleme
  • Mevcut kapsam kurallarını kaldırma
  • Varsayılan kapsam kurallarını listeleme
  • Belirli bir URL'nin gezinti kapsamına dahil edilip edilmediğini veya bir üst veya alt kapsam kuralına sahip olup olmadığını keşfedin.

 

Bu konu aşağıdaki konuları içerir:

Kapsam kuralları hakkında

Kapsam kuralı, arama kökündeki URL'lerin gezilmesini ve dizine alınmamasını içeren veya dışlayan bir kuraldır. Ekleme kuralları dizin oluşturucunun bu URL'yi scrawl kapsamına eklemesine ve dışlama kuralları dizin oluşturucunun bu URL'yi (ve alt öğelerini) gezinme kapsamından dışlamasına neden olur.

Örneğin, veri dosyaları yerel bilgisayardaki WorkteamA\ProjectFiles klasöründe bulunan yeni bir uygulama yüklediğinizi varsayalım. ProjectFiles klasöründeki her şeyin dizine eklenmesini, ancak Prototypes alt klasöründeki öğelerin hariç tutulmasını istediğinizi varsayalım. Bu durumda, myPH:///C:\WorkteamA\ProjectFiles\ için bir ekleme kuralına ve myPH:///C:\WorkteamA\ProjectFiles\Prototypes\ için bir dışlama kuralına ihtiyacınız olacaktır.

Aşağıdaki öncelik sırasına sahip üç tür kural vardır:

  1. Grup İlkesi kuralları yöneticiler tarafından ayarlanır ve diğer tüm kuralları geçersiz kılabilir.
  2. Kullanıcı kuralları, Windows Search seçenekleri kullanıcı arabiriminde kapsamı değiştiren kullanıcılar tarafından ayarlanır. Kullanıcılar veya diğer uygulamalar tüm kullanıcı kurallarını kaldırabilir ve varsayılan kurallara geri dönebilir.
  3. Varsayılan kurallar genellikle bir uygulama tarafından varsayılan kapsamı tanımlamak için ayarlanır. Örneğin, sisteme yeni bir protokol işleyicisi veya kapsayıcı eklendiğinde varsayılan kurallar ayarlanabilir.

Bu tür kurallar birlikte, Gezinme Kapsamı Yöneticisi'nin (CSM) gezinecek URL'lerin tam listesini oluşturduğu çalışma kuralı kümesini oluşturur. Varsayılan kurallar grup ilkesi kuralları ve kullanıcı kuralları tarafından geçersiz kılınabilir, ancak bunlar kendi varsayılan kural kümesinde tutulur ve istediğiniz zaman geri dönebilirsiniz. Dizin oluşturucu, çalışma kuralı kümesindeki URL'lerde gezinerek kataloğa öğe, özellik ve içerik ekler.

Not

Denetim Masası'na erişimi olan kullanıcılar bu arabirim aracılığıyla kuralları değiştirebilir. Bu nedenle kapsam yönetimi sunan uygulamalar, kullanıcı kurallarının kaydedilmiş bir kopyasına güvenmek yerine numaralandırma yöntemlerini kullanarak kuralları her zaman doğrudan CSM'den almalıdır.

 

Dışlama kuralları, '*' joker karakteriyle desen URL'leri tanımlayabilir; örneğin: file:///C:\ProjectA\*\. Bu deseni kullanan bir dışlama kuralı, dizin oluşturucunun ProjectA dizini altındaki tüm klasörlerde gezinmesini engeller. Daha karmaşık bir örnek için file:///C:\ProjectA\ için bir ekleme kuralı ve file:///C:\ProjectA\*\data\* için bir dışlama deseni kuralı olduğunu varsayalım. Bu durumda, dizin oluşturucu öğelerde gezinerek şunları yapar:

  • C:\ProjectA\
  • C:\ProjectA\version1\testfiles\
  • C:\ProjectA\version1\temp\data\

Ancak dizin oluşturucu şu öğelerde gezinmez:

  • C:\ProjectA\sürüm1\data\

 

Başlamadan önce

Gezinme Kapsamı Yöneticisi arabirimlerinden herhangi birini kullanmadan önce aşağıdaki önkoşul adımlarını gerçekleştirmeniz gerekir:

  1. CSearchManager nesnesini oluşturun ve ISearchManager arabirimini alın.
  2. "SystemIndex" için bir ISearchManager::GetCatalog çağrısı yaparak ISearchCatalogManager arabiriminin bir örneğini alın.
  3. ISearchCrawlScopeManager arabiriminin bir örneğini almak için ISearchCatalogManager::GetCrawlScopeManager çağırın.

Gezinme Kapsamı Yöneticisi'ne herhangi bir değişiklik yaptıktan sonra ISearchCrawlScopeManager::SaveAll yöntemini çağırmanız gerekir. Bu yöntem parametre almaz ve başarıda S_OK döndürür.

 

Kapsam kuralları ekleme

CSM için ayarlanan çalışma kuralları, kullanıcı ve varsayılan kuralların yanı sıra grup ilkesi tarafından zorlanan tüm kuralları içerir. Kullanıcı kuralları bir kullanıcı arabirimindeki kullanıcılar tarafından ayarlanır ve varsayılan kurallar aşağıdakilerden herhangi biri tarafından ayarlanabilir:

  • Sistem yöneticisi tarafından uygulanan grup ilkeleri (Bunlar ISearchCrawlScopeManager arabirimini kullanmaz.)
  • Windows Search veya protokol işleyicisi gibi bir uygulamanın yüklenmesi veya güncelleştirmesi
  • Yeni veri deposu veya kapsayıcı eklemeye yönelik kurulum uygulaması

ISearchCrawlScopeManager, aşağıdaki tabloda açıklandığı gibi yeni kapsam kuralları eklemek için iki yöntem sağlar. Dosya sistemi ekleme kurallarının yolları '\' ters eğik çizgiyle (örneğin, file:///C:\files\) ve dışlama kurallarının yolları yıldız işaretiyle (örneğin, file:///C:\files\*) bitmelidir. Yalnızca dışlama kuralları desen URL'leri içerebilir. Ayrıca, daha iyi güvenlik için yollara kullanıcıların güvenlik tanımlayıcılarını (SID) dahil etmeniz önerilir. Kullanıcı başına yollar daha güvenlidir çünkü sorgular kullanıcı başına bir işlemde çalıştırılır ve örneğin, bir kullanıcının başka bir kullanıcının gelen kutusundan dizine alınan öğeleri göremeyeceğini güvence altına alır.

Aşağıdaki tabloda, yeni kapsam kuralları eklemek için kullanılan ISearchCrawlScopeManager arabiriminin yöntemleri açıklanmaktadır.

Yöntem Açıklama
AddUserScopeRule Kullanıcı tarafından belirtildiği gibi URL için bir kural ekler. Bu kurallar varsayılan kuralları geçersiz kılar. Kullanıcıların kendi kapsam kurallarını ve URL'lerini yönetmesine olanak tanıyan bir kullanıcı arabirimi uyguladıysanız bu yöntemi kullanın.
AddDefaultScopeRule Protokol işleyicisi gibi başka bir uygulama tarafından belirtildiği gibi URL için bir kural ekler. Yeni bir protokol işleyicisi uyguladığınızda veya yeni bir veri deposu eklediğinizde bu yöntemi kullanın. Bu kurallar kullanıcı kuralları tarafından geçersiz kılınabilir.

 

Her yöntem, dizine alınabilen bir konumun URL'sini alır ve URL'nin dahil edilmesi veya dışlanması gerektiğini belirleyen bayraklar alır. fFollowFlags parametresi gelecekte kullanılmak üzere ayrılmıştır. Yeni bir kapsam kuralı eklediğinizde ve Gezinme Kapsamı Yöneticisi kuralın zaten var olduğunu belirlediğinde (URL'ye veya sağlanan desene bağlı olarak), çalışma kuralı kümesi güncelleştirilir; böylece (1) eski kural yeni kuralla değiştirilir ve (2) bununla çelişen tüm kullanıcı kuralları kaldırılır.

İpucu: file:// kökü varsayılan olarak tarama kapsamına dahil edilmiş olsa da, Program Files dizini varsayılan olarak dizine alınmaz. Bu nedenle, Program Files dizinine kaydedilmiş verileri olan uygulamaların varsayılan kural olarak konumlarını eklemesi gerekir.

Kullanıcı kurallarıyla ilgili notlar

Yeni bir kullanıcı kuralı mevcut bir varsayılan kuralla aynıysa, yeni kullanıcı kuralı çalışma kuralı kümesindeki varsayılan kuralı geçersiz kılar. Yeni kullanıcı kuralı mevcut bir kullanıcı kuralıyla aynıysa, eski kullanıcı kuralı değiştirilir.

fOverrideChildren bayrağının ayarlanması, çalışma kuralı kümesinde aşağıdaki sonuçları içerir:

  • TRUE tüm alt kuralların çalışma kuralı kümesinden kaldırılmasına (hem kullanıcı kuralları hem de varsayılan kurallar) neden olur.
  • YANLIŞ, yeni kullanıcı kuralının alt öğeleri olan tüm varsayılan kuralların çalışma kuralları kümesine yeniden eklenmesiyle sonuçlanır. Eğer bir alt varsayılan kural bir ekleme ve yeni kullanıcı kuralı bir dışlama ise, varsayılan kural bir ekleme kullanıcı kuralı olarak değiştirilir.

 

Kapsam kurallarını kaldırma

Bir kapsam kuralını çalışma kuralı kümesinden kaldırmak için ISearchCrawlScopeManagerarabiriminikullanabilirsiniz. Bu arabirim, kapsam kurallarını kaldırmak için aşağıdaki iki yöntemi sağlar.

Yöntem Açıklama
RemoveScopeRule Belirtilen URL için bir kullanıcı kuralını çalışma kuralı kümesinden kaldırır. Kullanıcı kuralı, varsayılan kuralın bir kopyasıysa veya geçersiz kılarsa, varsayılan kural çalışma kuralı kümesinde kalır.
RemoveDefaultScopeRule Belirtilen URL için varsayılan kuralı hem çalışma kuralı kümesinden hem de varsayılan kural kümesinden kaldırır. Bu yöntemi çağırdıktan sonra, RevertToDefaultScopes kullanarak bu varsayılan kurala geri döndüremezsiniz.

 

Her yöntem, kaldırılacak kuralın ekleme veya dışlama kuralı olup olmadığını belirten bir URL ve bayrak alır. Bu yöntemler, bu URL'ye ve ekleme/dışlama bayrağına sahip bir kural bulunamazsa bir hata döndürür.

İpucu: Gezinme kapsamından bir kapsamı tamamen kaldırmak istiyorsanız, arama kökünü ve ilişkili tüm kapsam kurallarını kaldıran RemoveRoot yöntemini kullanın. Örneğin, kaldırırken bunu yapmak en iyi yöntem olarak kabul edilir.

Ayrıca, bir arama kökünün tüm kullanıcı belirlemeli geçersiz kılmalarını kaldırmak ve orijinal arama köküne ve varsayılan kapsam kurallarına geri dönmek de mümkündür. Daha fazla bilgi için sonraki bölüme bakın.

Not

Windows Vista'da, kullanıcılar Denetim Masası'ndaki Kullanıcı Profilleri aracılığıyla kaldırılırsa, CSM SID'lerini içeren tüm kuralları ve kökleri kaldırır ve dizine alınan öğelerini katalogdan kaldırır. Windows XP'de, kullanıcıların köklerini ve kurallarını el ile kaldırmanız gerekir.

 

 

Varsayılan kurallara geri dönme

Varsayılan kurallara geri dönmek, URL veya kök için tüm kullanıcı kurallarını kaldırır ve tüm varsayılan kuralları çalışma kuralı kümesine geri yükler. Yine de, Grup İlkesi tarafından ayarlanan kuralları kaldırmaz. RevertToDefaultScopes yöntemi parametre almaz ve varsayılan kurallara geri dönemezse bir hata kodu döndürür.

 

Kapsam kurallarını numaralandırma

CSM, IEnumSearchScopeRulesstandart COM stili numaralandırıcı arabirimini kullanarak kapsam kurallarını numaralandırır. Kapsam kurallarını çeşitli amaçlarla listelemek için bu arabirimi kullanabilirsiniz. Örneğin, çalışma kuralı kümesinin tamamını bir kullanıcı arabiriminde görüntülemek veya bir kuralın veya bir kuralın alt öğesinin zaten gezinme kapsamında olup olmadığını keşfetmek isteyebilirsiniz.

 

Kapsam kurallarının takibi

CSM ayrıca belirtilen URL'nin gezinme kapsamına eklenip eklenmediğini ve üst veya alt kapsam kuralına sahip olup olmadığını belirlemenizi sağlar. Ayrıca bir URL'nin neden gezinme kapsamına dahil olduğunu veya dışarıda bırakıldığını da öğrenebilirsiniz. Bu yöntemlerin desen URL'leriyle kullanılması amaçlanmamıştır.

Aşağıdaki tabloda, yeni kapsam kuralları eklemek için kullanılan ISearchCrawlScopeManager yöntemleri açıklanmaktadır.

Yöntem Açıklama
GetParentScopeVersionId Ebeveyn dahil etme URL'sinin sürüm kimliğini alır. Ebeveyn kapsamın, son kontrol ettiğinizden bu yana değişip değişmediğini kontrol etmek için bu yöntemi kullanabilirsiniz.
Örnek: Bir posta uygulaması sağlayıcı tarafından yönetilen bildirimler kullanıyorsa, kapanmadan önce üst kapsam sürümünü alabilir ve açıldığında sürümü yeniden denetleyebilir. Ardından uygulama, dizin oluşturucuya yeni bir bildirim kümesi göndermesi gerekip gerekmediğini belirleyebilir.
HasChildScopeRule Belirtilen URL'nin alt kuralı varsa (URL hiyerarşisinde herhangi bir düzeyde alt öğeye uygulanan bir kural) TRUE döndürür.
Örnek: URL file:///C:\Folder\ ise, CSM'nin file:///C:\Folder\Subfolder\ için özel olarak bir kapsam kuralı varsa, bu yöntem TRUE döndürür.
HasParentScopeRule Belirtilen URL'nin bir ana kuralı varsa (URL hiyerarşisindeki herhangi bir seviyede üst kurala bağlı olan bir kural) TRUE döndürür.
Örnek: URL file:///C:\Folder\Subfolder ise, CSM'nin file:///C:\Folder\ için özel olarak bir kapsam kuralı varsa, bu yöntem TRUE döndürür.
Tarama Kapsamına Dahil Belirtilen URL, gezinme kapsamına dahil edilirse TRUE döndürür.
IncludedInCrawlScopeEx CLUSION_REASON numaralandırmasından URL'nin neden gezinme kapsamına dahil olduğunu veya dışarıda bırakıldığını açıklayan bir değer döndürür ve URL gezinme kapsamına dahil edilmişse TRUE değerini alır. Bu yöntem, çalışma kuralı kümenizdeki çakışmaları belirlemenize yardımcı olabilir.

 

 

Not

IncludedInCrawlScope ve IncludedInCrawlScopeEx yöntemleri, URL'nin yalnızca CSM'deki kurallara göre gezinilip gezilmeyeceğini belirler. URL'de gezinilmemesinin başka nedenleri de olabilir; örneğin, ayarlanan FANCI biti (başka bir deyişle, bir kullanıcının klasörün Özellik iletişim kutusunda hızlı dizin oluşturma işlemine izin vermemiş olması).)

 

Bir dosya yolunun dışlanması gerektiğine inanıyorsanız ancak dosya dahil olarak listeleniyorsa, dışlama kurallarının "<yol>\*" ile sona erdiğinden emin olun. Bir dosya veya dosya yolunun eklenmesi gerektiğine inanıyorsanız ancak eklenmediyse, dosya veya yol için FANCI bit ayarını denetlediğinizden emin olun. Dosya veya dosya yoluna sağ tıklayıp özellikler seçerek bunu yapabilirsiniz, ardından Hızlı arama için Dizin Oluşturma Hizmeti'nin bu klasörü dizine eklemesine izin verin onay kutusunun seçili olduğundan emin olun. Dosya veya dosya yolu burada dizin oluşturma için işaretlenmemişse, ekleme kuralında olsa bile dizine alınmaz.

Başvuru

ISearchCrawlScopeManager

ISearchCrawlScopeManager2

ISearchScopeRule

IEnumSearchScopeRules

kavramsal

Arama Köklerini yönetme