It does have a search functionality in the Admin UI part, so maybe you could take a look at that to reverse engineer it.
When defining a list you can even add a 'searchFields' option that defines which fields the Admin UI should search through.
If you want to make something custom, it shouldn't be too hard using something like keystone.list('Post').model.find({ whatever: req.body.search_input }).