Desktop Search

Let me start by saying that Windows Desktop Search is a great addition to Windows; and while it might have taken four major releases to get it right, for the most part it works and it works well.

With Windows Server 2008, Windows Vista, and Windows 7 Desktop Search is installed and enabled by default; and it works in a federated mode (meaning that you can search from a client against a server via the network).

Desktop Search, however, seems to have some issues with junction points (specifically in the case I’ve seen — directory reparse, or directory links).

The search index service seems to do the right thing and not create duplicates enteries when both the parent of the link and the target are to be indexed (though I don’t know how you would control whether or not the indexer follows links in the case where the target wouldn’t normally be indexed).

The search client, though, does not seem to properly provide results when junction points are involved.

Let me illustrate by example.

Say we have directory tree D1 and directory tree D2 and both of those are set to be indexed.  If we do a search on D1 it produces the expected results.  If we do a search on D2 it produces the expected results.

Now say we create a junction point (link) to D2 from inside D1 called L1.  If we do a search on L1 we do not get the same results as if we’d searched in D2.

My expectation would be that the search was “smart” enough to do the search against D2 (taking the link into consideration) and then present the results with the path altered to reflect the link L1.

I consider this a deficiency; in fact it appears to me to be a major failing since the user of information shouldn’t be responsible for understanding all the underlying technology involved in organizing the information — he should just be able to obtain the results he expects.

It’s likely the client and the search server need some changes in order to accommodate this; and I would say that the indexer also needs a setting that would force it to follow links (though it shouldn’t store the same document information twice).

If this were a third party search solution running on Windows my expectation would be that file system constructs might not be handled properly; but last time I checked the same company wrote the search solution, the operating system, and the file system — again, perhaps more effort should be put into making things work right, rather than making things [needlessly] different.

Originally posted 2010-01-22 01:00:57.