Powerful Search Engine for Your Windows Desktop


Since Windows Vista Windows Desktop Search(WDS) is an integrated part of the Windows OS.
In earlier Windows-Versions the user had an option to install the search engine.

WDS indexes specified drives and offline network folders using IFilters (adaptors for different data types) and makes them available for finding files both manually or programmically.
Depending on the file type, WDS indexes the whole textual content of the file or just attributes (title, author, categories, file type … see Windows Properties).

One can install specific IFilters (e.g. for PDFs PDFIFilter for 64bit).
IFilter for MSOffice comes along with the MSOffice software packet.
Unfortunatelly, IFilter for OpenOffice is commercial.

Support for software developers
WDS provides an API for using it or extending its features.
Searching for the documentation in the internet one has to be very carefull as there is a lot of documents describing previous versions of the WDS API that have minimal but crucial differences.

Developers have choice to use the Advanced Query Syntax ADS or or SQL Syntax to query the search engine.

WDS is the first search engine that I knew that supports normalized result relevance scale (from 0 to 1000).
Using SQLsyntax one can combine several subqueries using the OR-operator in the WHERE clause and weight the results of each of them separately.
The engine will combine the results according to these weights and sort it accordingly.

From the experience, AQS queries are translated to SQL automatically and the quality of this translation is not that good for complex queries.
Therefore the recommendation is to use SQL-queries profgrammatically that is very powerful. AQS is a really good thing for manual queries.

One has to notice explicitely that AQS-queries are platform language-dependent, i.e. AQS keywords are different for German and English Windows OS.
An alternative would be to use so called canonical queries.

FULLTEXT search
SQL Syntax of WDS contains support for FREETEXT and CONTAINS predicates that are very useful functions for the text search

Categories, structured search
Windows files can be assigned categories (comma-separated list of strings). MSOutlook items can be assigned categories either. Categories attribute can be searched by WDS (e.g. in ADS-Syntax: TaskNavigator System.Category:VOF will find files, Outlook or One-Note items catagorized with “VOF” and containing “TaskNavigator” in their attributes or text).

Unfortunately, categories are not hierarchical neither they are connected to each other as it is done in the Semantic Desktop.
Therefor for Microsoft it is the long way to go. However WDS with it’s “shortened” semantic OS descriptiuon can be very useful in many cases.

Performance
Form the experience, SQL queries constructed by developers is executed very quickly (interacrtive responce time). For AQS-Translated queries, there is no guarantee, that they are correct or efficient (I experienced that WindowsIndexer crashed as it was trying to process such a query). Also the memory consumption for such query is much higher.

Using AQS in MSOutlook

AQSsyntax can be used in MSOutlook for spontaneous search (von:”Max Musterman” kategorien:ADiWa).

Tags: , ,

2 Responses to “Powerful Search Engine for Your Windows Desktop”

  1. forsecond Says:

    I would like to exchange links with your site rostanin.wordpress.com
    Is this possible?

Leave a comment