A Tale of Two Searches
Well the first 45 days of the new job at Cactus Commerce have gone extremely well. As is the case with other companies, the emerging etiquette for employees is not to write too extensively about one’s own job and the daily goings on. But I think I’m allowed to say that I’m very fortunate because my company is giving me the opportunity to work with client names that are extremely-well known; virtually all are household words, in fact. This, plus I’m working with cutting-edge technologies almost exclusively, with an extremely talented, friendly and professional group of co-workers and being appreciated for the solid, hard-work I’m putting in – this is getting precariously close to being my dream job. To say the company itself is successful (both generally and recently) would be something of an understatement – and that’s meant spending some late hours here and there. And so once again my blogging hobby has suffered, but I’m back at it once more….hopefully those of you who stop by here regularly will resume doing so with the same loyal frequency as before. 😉
Among my many tasks at work was one that had me taking another look at search technologies. Now the last time I reviewed search on Windows was a year ago while working at Privasoft (an Ottawa-based producer of freedom of information request case management software). Privasoft produces a package called "AccessPro", which I was asked to create an integrated document search feature for. So I really "got into" search technologies – those produced by Microsoft, by Google, by third parties, etc. Ultimately, we integrated a 3rd-party solution into the encrypted, web-service-brokered framework – but this effort meant I got to know a whole lot about the state of search on Windows.
Well it’s a year later, and my latest task – not surprisingly – has me now integrating search again, althouh this time mostly just leveraging MS SQL Server via the Commerce Server 2007 API. But curious about the origins, the syntax and ongoing evolution of Microsoft’s "search solution" (if it can be called that) I decided to drill into SQL Server 2005’s Full-Text search feature; comparing it with Indexing Services and Windows Desktop Search.
Now search functionality with SQL Server has kind of always been there in one form or another. It’s a natural feature for a database, really – philosophically-speaking – it’s primary function. After all with a syntax like "SELECT * FROM Orders", what image other than that of a search is evoked in one’s mind? But with the introduction of Indexing Service on the Windows 2000 platform nearly 10 years ago – MS appeared to finally be moving search into the realm of taxinomical searching (or searches resuling from generated metadata, or catalogues). Index Server (as it was then called), was designed for operation either on desktop workstations or servers as an optional install. Indeed, even today on Windows XP; when accessing Windows Components setup from the Add/Remove Programs feature of the Control Panel, one still finds the option to install Indexing Services.
But it now appears clear – Microsoft has moved to obsolete Indexing Serivces, in whatever product name it was originally given, and responded to the unwelcome intrusion of Google’s desktop search product with two new products: Windows Desktop Search (WDS) and Enterprise Search – now as a feature of MS SharePoint Server 2007. But, as usual, with no formal announcement to this effect, IT professionals have had to piece this puzzle together over time. Indeed, despite doing some very deep digging into the available docuemntation a year ago, it was tough to know where WDC was going in relation to Indexing Services. And I could have easily made the mistake of sending my employer down the road of embracing Microsoft’s retiring solution, ignorant of these developments.
Although, it might not have been as big a disaster as I fear it may have been in hindsight. Architecturally, there seems to be a lot of similarity between WDC and its ancestor, Indexing Service. Indeed, it wouldn’t surprise me a great deal to find out that WDC is really cisvc.exe (in task manager, one finds the Indexing Service runs as the process cisvc.exe) with a few enhancements; simply re-branded because Google was getting a little too popular, and MS had to make Indexing Service more accessible instead of burying deep behind dialogues in the Control Panel. None of the available docuemntation indicates any particularly new functionality so far as I can tell. Indeed, reading the documentation – to this very day – it’s hard to know that there was a predecessor to WDC at all. It’s as if Desktop Search was something Microsoft invented for Windows last year or maybe the year before. So from the perspective of integrating the technology as either Indexing Service or WDC, it might not have made all that much difference. Besides, I wrote an adapter class for AccessPro’s search feature that would make it fairly simple to incorporate other search technologies in the future.
The real story here though isn’t my personal issue with Microsoft’s cloak-and-dagger marketing approach, nor even the what-ifs for applications long since written. The big scandal here is that there’s some number of people out there who may yet still be running cisvc.exe and WDC simultaneously – because IE7 and Windows Update strongly recommend its installation and, once one has Office 2007 on their system – one has no choice but to have WDC installed. As such, the Office 2007 user with custom search catalogues put there as a search solution in the past is running a redundant and soon-to-be retired technology on their system, slowing it down reather considerably.
It’s all of this that, for me, begs the question – why didn’t Microsoft tell anyone what it was doing?
Anyway, there’s my anti-Microsoft rant for the year. It’s not often you’ll hear me bad-mouth the software giant because it helps keep me fed too. That, and I happen to believe it generally does a pretty decent job building products for business and increasingly the home user too. Yet every once it a while it drops the ball, and it certainly did so again here. Fortunately, I’m here to tell ya – right?