![]() | |||
Indexing Service Kullanarak, Dosyalarda Arama | 18.09.2008 17:14:00 | ||
| Kategori : ASP.NET Özet : Web sitenizde, dosyaları yüklediğiniz ya da kullanıcıya yüklettiğiniz bir klasör var ve web sayfasından, bu klasörün içindeki dosyaların tipi(word, excel, pdf) ne olursa olsun, içeriğinde arama yapılmasını ve bulunan sonuç listesinden sayfalara ulaşılmasını istiyorsunuz. Bu makalede, Indexing Service kullanarak, dosya içeriğinde nasıl arama yapıldığı anlatılmaktadır. | |||
|
Indexing Service Kullanarak, Dosyalarda Arama Web sitenizde, dosyaları yüklediğiniz ya da kullanıcıya yüklettiğiniz bir klasör var ve web sayfasından, bu klasörün içindeki dosyaların tipi(word, excel, pdf) ne olursa olsun, içeriğinde arama yapılmasını ve bulunan sonuç listesinden sayfalara ulaşılmasını istiyorsunuz. Bu makalede, Indexing Service kullanarak, dosya içeriğinde nasıl arama yapıldığı anlatılmaktadır. ![]() Indexing Service Indexing service, dosya içerisinde içerik bulan ve hızlı ve etkin biçimde aramayı kolaylaştırmak için indekslenmiş katalog oluşturan bir servistir(Microsoft Windows 2000 ve sonrası için). Indexing Service, lokal ya da ağdaki bir bilgisayarda bulunan dosyaların içeriğindeki metine ve dosyaların özelliklerine ulaşabilir. Bu dosyalar web sitesinde yayınladığınız dosyalar da olabilir. Indexing Service filtreleme yaparak içeriği bulur. Filtrelemede, dosyanın formatını anlayan filtreleme bileşenleri kullanılır. Format uluslararası dil ve yerel gibi çoklu dil özellikleri içerebilir. Filtreleme bileşeni, metni ve özelliği bulmak için dosyayı okuma metodlarını destekleyen Ifilter arabirimini sağlar. Windows 2000 ve Microsoft Windows XP, Microsoft Office dosyalarını, HTML dosyalarını, mail uzantılı mesajları ve düz metin dosyalarını filtrelemeyi destekler. Indexing Server etkin arama için indekslenmiş katalogların içerisindeki bilgiyi birleştirir. Indexing, filtreleme, indeks kayıt yaratma ve birleştirme işlemlerinin tümünü katalogların içerisinde gerçekleştirir. Indexing işleminin son adımı kelimelerin ve konumlarının depolandığı ana indeks içeren bir katalog yaratmaktır. Windows 2000 ve Windows XP, Indexing Service sorgulamak ve özelliklerini/durumunu yönetebilmek için temel olanaklar sağlar. Bu olanaklar;
Indexing Service Kurulumu
Kurulum tamamlandığında, Computer Management (Start > Settings > Control Panel > Administrative Tools) penceresinden Indexing Service yönetebilirsiniz.
Indexing Service seçili iken sağ tıklayıp Start komutuna tıkladığınızda, size bir kereliğine bir soru yöneltilir, eğer bilgisayar açıldığında, servisin başlatılmasını istiyorsanız, Yes düğmesine tıklayın, bu işlemden sonra servis başlatılır. Indexing Service Kataloğu Yaratma Indexing Service kısa anlatımından sonra, örnekle birlikte Indexing Service incelemeye devam edeceğiz. Örnekte, web sitesinde kullanıcıların eklediği dosyaların depolandığı, Dosyalar adında bir klasor var ve bu klasör içerisindeki dosyalarda, içerik aramasının yapılması isteniyor. Arama sadece Dosyalar klasörünün içerisinde olacağı için öncellikle bu klasör için katalog oluşturulması gerekmektedir.
Kataloğun Kapsamını Belirleme Kataloğu oluşturduktan sonra, kataloğun kapsamını belirlememiz gerekmektedir. Bunun anlamı arama yapıldığında bakılacak yerlerdir. Bir ya da daha fazla konum yaratılabilir.
Web Uygulaması Search adlı web sitesindeki, arama sayfasının içeriği aşağıdaki gibidir.
Seneryoya göre, Ara düğmesine tıklanıldığında, Textbox kontrolün içerisine
girilen metin/ifade, Dosyalar klasörün içerisindeki tüm dosya içeriklerinde aranır ve
sonuç GridView kontrolünde listelenir. Ve listede istenilen dosyanın linkine tıklanarak,
dosya
açılır.Sorgulama
Standart OLEDB data provider kullanarak, Indexing Server kataloğunu sorgulayabilirsiniz. Bu işlem için, bağlantı dizisi, MSIDXS (Microsoft Indexing Server) OLEDB data providerını çağırır ve veri kaynağı olarak kataloğun adı verilir.
From ifadesinde sorgulanacak kapsam tanımlanır. From ifadesinin ana bileşeni olan SCOPE fonksiyonu sıfır ya da daha fazla arguman değeri alabilir. Eğer arguman değeri almıyorsa, varsayılan konumda arama yapılır. Select ifadesinde, DocTitle,Filename,Size,PATH, DocAuthor, write kullanarak, dosyanın özelliklerine ulaşabilirsiniz. Where ifadesinde kullanılabilen FULLTEXT ile, arama için girilen ifade ya da metin çözümlenerek, benzer kayıtlar listelenir. Örneğimize dönecek olursak, düğmeye tıklanıldığında çalışacak kodlar aşağıdaki gibidir;
"The 'MSIDXS' provider is not registered on the local machine." HatasıEğer örneği tamamlayıp, çalıştırdığınızda "The 'MSIDXS' provider is not registered on the local machine." hatasını alıyorsanız. Aşağıdaki yönetimi izleyerek, hatanın çıkmasını önleyebilir, örneği çalıştırabilirsiniz;
| |||
Yazgelistir.com | |||