The search feature for DotNetNuke was part of DotNetNuke 1, but there were some issues with it, and it was removed with DotNetNuke 2 until a better structure was put into place. The reason for this was the diversity in multiple portals which you can do with DotNetNuke didn't allow for the correct behaviour and the results were not satisfactory.
Much time, design considerations and better structure was put into the writing and behaviour of the search feature and it's now back in DotNetNuke 3 and works well.