Move complex search to backend

I think you could actually use this process to do the search at the backend, and then just return the list to the front-end: