There was a fairly vibrant OSS community around .net at the time filling many of the gaps. ORM (nHibernate), MVC (monorail), build (nant), IOC (Autofac and many others), unit testing (nUnit and others).
MS decided to go all NIH and create their own, almost always worse version of all of these tools rather than work with the community. The message they effectively sent was "don't do OSS on our platform, we'll crush you're successful project with an inferior clone".
>But javaland has many of those devs? I'm really wondering if anyone outside of the Lucene team and Google even has a clue about how to build a modern search engine.
I think you're right, there probably aren't that many with the know how. The even bigger problem is there aren't many with the awareness that tools like lucene exist, it's database queries or nothing to most developers.