I think that is probably not a common enough use case to optimize for. Additionally it would be easy for a user in that position to just search "shirt" and ignore the occasional striped one, or to search "polka dot" and "paisley" seperately
I understand the point, but there are plenty of bigger fish that I would want Amazon and Google to fry before spending their engineers' time on a triviality like this. I just don't think that having to make three queries instead of one in this occasional situation is such a big deal.
You're arguing the search is "good enough". Because we can adapt to the machines. But the company who will not force us to do so will get our business. The company who creates the best digital butler will win. They know this. They try hard. And they still fail at simple stuff when judged by humans.
Another possibility is that maybe it really is "good enough", and they get a bigger advantage by competing with each other on more important aspects of usability than these kind of trivial issues
Assumptions like this is what makes search so terrible for many many companies.
You can't assume that customers would type one thing or another - you need to gather lots of query log data and see what you find. You'd be surprised how much variation there is, but once you do have this data you can then find patterns to cover lots of (but not all) cases.
Of course, they should look at the data before making such an assumption. I am not suggesting otherwise, I'm just making a guess as to why it's been done this way. I suspect they have looked at the data and identified that it is not a common use case.
Apple probably expected most users genuinely wanting to make a phone call would hold their iphone 4s a certain way. Turns out expectations don't always match reality.