Best Practices for Building a Search App?

Is there a way to search all properties (without pulling all objects into memory – which I assume means building a list of each object’s properties with reflection, stringifying them, and then checking is out)? If not, this seems incredibly cumbersome as I’d have to build new logic for every new property I might add. Something like s.Contains(textFilter) in the above would be ideal.