When the user presses the Search button you will get an isFullResult event. That's when you should invoke your search logic. There's also an isPartialResult event raised each time the user types a new letter. That can be useful for presenting them with suggested searches.
Yes, which is not to say you couldn't handle the search on the device yourself, but would be much more practical to pass the query string to your server and then return the results to the device.