If the backend of Windows Search is amazing, why is the front-end user experience abysmal? The problems just don't seem like front end problems: the search is occasionally slow, it doesn't even reliably find installed programs by their name, and if the result pops up while your next keystroke is underway it will sometimes lose the result even if that keystroke is correct, and somehow finding the result again will require removing more than the single correct keystroke that made your desired result disappear. The mind boggles.
I'm not familiar with Windows internals, so I should clarify: I'm talking about the search functionality invoked by typing after pressing the Windows key.
If I were an app developer in this space I would not trust my core functionality to anything even remotely associated with the above, and I strongly suspect that the complexity of handling the long tail of functionality you mentioned has something to do with why the windows-key search experience sucks. Certainly the fundamental task is not intractable because Spotlight (Apple's search) has been Good Enough for a while. IIRC it became tolerable around the time SSDs became standard. Windows-key search isn't quite there yet. Until it is, I'll take good execution on the basic 80% of functionality any day.
The front end is a mystery to me, windows search backend is a queryable system, it's reliable, impressively fast, and suffers from none of the issues that have plagued not only the win10 search, but windows explorer as well.
I've never understood why it's performance has been deemed acceptable.
The only issue I have seen is when the index corrupts, this was more common in win7, and in our research it was often the result from an over aggressive AV jamming up the process.
But I've written a number of systems that make use of this, and when comparing other ways to accomplish this sort of in depth search, it's the most reliable and manageable.
It does have the caveat that it works best on places indexed by the OS, and adding locations to the indexer via code requires some pinvoke stuff most people aren't comfortable with.
There seems to be more than one index. There is the index of scanned file content, an index for apps, and maybe another one for help. There is also a query timeout. If you start searching after a boot on a slow laptop you get a subset of results dependent on which index is loaded before the query times out. Kill the start menu and try again. And again. And then it works smoothly. It's quite poor.
I'm not familiar with Windows internals, so I should clarify: I'm talking about the search functionality invoked by typing after pressing the Windows key.
If I were an app developer in this space I would not trust my core functionality to anything even remotely associated with the above, and I strongly suspect that the complexity of handling the long tail of functionality you mentioned has something to do with why the windows-key search experience sucks. Certainly the fundamental task is not intractable because Spotlight (Apple's search) has been Good Enough for a while. IIRC it became tolerable around the time SSDs became standard. Windows-key search isn't quite there yet. Until it is, I'll take good execution on the basic 80% of functionality any day.