Windows Arama
Mimari

Windows Arama, bir Windows Hizmeti olarak uygulanmaktadır. Arama hizmeti, Windows Arama yapılandırmasını ve sorgu API'larını uygular, ayrıca tüm dizin oluşturma ve sorgu bileşenleri gibi kontrol eder. Windows Arama'nın en önemli bileşeni Dizin Oluşturma Aracısıdır. Bu, ilk kurulumda dosya sistemini tarayan ve daha sonra, verilerin dizinini oluşturmak ve korumak için değiştirilen dosyaları almak için dosya sistemi bildirimlerini dinleyen işlevdir. Bunu üç süreç kullanarak başarıyor:
SearchIndexer.exe, dizinleri ve dizin oluşturmayı gerektiren URI'lerin listesini barındırmanın yanı sıra, diğer uygulamaların Windows Arama özelliklerinden yararlanmak için kullandığı dış yapılandırma ve sorgu API'larını da ortaya koyar.
Protokol işleyicileri barındıran SearchProtocolHost.exe. Protokol işleyici için gereken en az izinle çalışır. Örneğin, dosya sistemine erişirken, sistem hesabının kimlik bilgileri ile çalışır, ancak ağ paylaşımlarına erişirken, kullanıcının kimlik bilgileri ile çalışır.
Meta veri ve metin içeriği ayıklamak için IFilter'leri ve özellik işleyicilerini barındıran SearchFilterHost.exe. Düşük bütünlüklü bir işlemdir, bu da sistem ayarlarını değiştirme iznine sahip olmadığı anlamına gelir, dolayısıyla kötü niyetli içeriğe sahip dosyalarla karşılaşırsa dahi ve bu işlemi üstlenmeyi başarabilirlerse, herhangi bir sistem ayarlarını değiştirmek için mümkün olmayacaktır.
Arama servisi, Koleksiyoncu (Gatherer), Merger (Birleşme), Yedeklenme Kontrolörü (Backoff Controller) ve Soru İşlemcisi (Query Processor) gibi çeşitli bileşenlerden oluşur. Koleksiyoncu, taranması gereken URI'lerin listesini alır ve URI'yi barındıran mağazaya erişmek için uygun protokol işleyicisini ve sonra da (meta verileri ayıklamak için) uygun özellik işleyicisini ve belge metnini ayıklamak için IFilter'ı çağırır. Farklı indeksler farklı koşular sırasında oluşturulur; Endeksleri periyodik olarak birleştirmek Birleşmenin işidir. Endeksleme sırasında endeksler genelde bellekte tutulur ve sonra birleştirme işleminden sonra diske boşaltılır. Meta veriler ESE veritabanı alt yapısı tarafından korunan bir veritabanı olan property store'da saklanır. Metin görüntülenir ve simgeler Ters Çevrilmiş Endeksler kullanılarak oluşturulmuş özel bir veritabanında saklanır. Endeksler ve emlak deposunun yanı sıra, başka bir kalıcı veri yapısı da muhafaza edilir. Toplama Sırası, dizine eklenmesi gereken URI'lerin öncelik sırasını korur. Yedeklenme Kontrolörü (Backoff Controller), kullanılabilir sistem kaynaklarını izler ve dizin programının çalıştığı hızı kontrol eder. Üç hali vardır:
Çalıştırma: Bu durumda, dizin oluşturucu hiçbir kısıtlama olmaksızın çalışır. Dizin oluşturucu, yalnızca kaynaklar için herhangi bir çekişme olmadığında bu durumda çalışır.
Azaltma: Bu durumda, URI'lerin taranması ve metin ve meta verilerin çıkarılması bilinçli olarak engellendiğinden, dakika başına işlem sayısı sıkı kontrol altında tutulur. Dizin oluşturucu, kaynaklar için çekişme olduğu zaman, örneğin diğer uygulamalar çalışırken bu durumdadır. İşlemleri azaltarak, diğer operasyonların ihtiyaç duyacakları kaynakları boşa çıkarmamaları sağlanır.
Yedeklenme: Bu durumda hiçbir indeksleme yapılmaz. Yalnızca Toplama Sıraları etkin durumda kalır, böylece öğeler renklendirilmemiş halde kalmaz. Bu durum, aşırı kaynak kesintisinde (5 MB'den az RAM veya 200 MB'lik disk alanı) etkinleştirilmişse, bilgisayar pil gücüyle çalışırken dizin oluşturma devre dışı bırakılmışsa veya dizin oluşturucu kullanıcı tarafından el ile duraklatılmışsa aktiftir.
Windows Arama sorguları, basit metin aramalarını desteklemekle kalmaz, aynı zamanda gelişmiş özellik tabanlı sorgu işlemleri de sağlayan Gelişmiş Sorgu Sözdiziminde (AQS) belirtir. AQS, arama sorgusunu düzeltmek için kullanılabilecek, aranan terimlerde (ve, veya, yok) işlemleri belirterek dosya meta verilerine veya dosya türüne dayalı başka filtreler belirlemek için kullanılabilecek belirli anahtar kelimeleri tanımlar. Ayrıca, normal dosyalar, çevrimdışı dosyalar önbelleği veya e-posta mağazaları gibi belirli bilgi mağazalarındaki sonuçları sınırlamak için de kullanılabilir. Dosya türüne özgü operatörler de mevcuttur. WDS, joker önek eşleşen aramaları da destekler. Ayrıca GROUP BY gibi birkaç SQL benzeri operatör içerir. AQS, yerel ayarlara bağımlıdır ve Windows 7'nin uluslararası sürümlerinde farklı anahtar kelimeler kullanır.