When you say full faceted search are you talking about every column potentially having definable criteria (including options for equals, less than, contains, etc.) on the already populated data table? A bit like the Kendo style data tables?
Also, how much data are you talking about?
I seem to remember you are talking about potentially large result sets. The problem here is that in code you are going to need to reorder your data according to potentially 10 sets of criteria, and that is going to be, in my opinion, harder than writing the SQL to only fetch the required data in the first place.
Using a JS library - again, I really think the SQL will be easier to learn than integrating a 3rd party libraries.
Clearly I would recommend the SQL query route and it’s something I could probably help you with. It is a little overwhelming to start with but it grows on you.
Just my opinion, of course.