I think this is because the search filter is done on the client's side (within the web browser) and it does not really change the underlying data frame. A possible alternative is to add a filter to the table and use that as search function, and also set server side processing. This won't do global searching in one box though.