Q:

pros and cons of using using the "FilterField1" & "FilterValue1" appraoch to build an advance search and filtering for my document library

I am working on a sharepoint farm 2013 on-premises. and i am searching for an appraoch which can allow me to build an advance search and filtering for my document library. currently my document library have the following fields:-
Built-in fields:-

Title, Created, Modified, Created by & Modified by.

Custom Fields:-

Document Type. of type Drop-Down.
Department. of type Lookup.
Owner. of type People or Group field.

now i want to have an advance search section above my list view, which can allow users to search the above columns. Now after doing some searching and reading, i find a way to do this, based on the built-in features which allow us to filter list views by passing the search/filter parameters as follow:-
/allitems.aspx?FilterField1=Type&FilterValue1=general&FilterField2Department&FilterValue2=Finance

so i am planning to add the related HTML search fields (such as Type, Department, Ower, Title, etc.. ) inside a script editor web part + java script which will be responsible to build the url based on users input, so the final url will be as shown in the above sample. Here is a quick sample of what i am planning to build (of course for the drop-down search fields i will be populating their data based on the items inside the related lookup list or based on the related site column choices):-
<script type="text/javascript">

$(document).ready(function(){

    $('#button').click(function(e) {  
        var count=1;
        var s="";

        var inputvalue = $("#doctype").val();
        var inputvalue2 = $("#title").val();
        var inputvalue3 = $("#dept").val();
        if(inputvalue!=null && inputvalue!="")
        {
        s = s+ "FilterField"+count+"=DocumentType&FilterValue"+count+"="+inputvalue+"&";
        count++;
        }
        if(inputvalue2!=null && inputvalue2!="")
        {
        s = s+ "FilterField"+count+"=title&FilterValue"+count+"="+inputvalue2+"&";
        count++;
        }
        if(inputvalue3!=null && inputvalue3!="")
        {
        s = s+ "FilterField"+count+"=Department&FilterValue"+count+"="+inputvalue3+"&";
        count++;
        }
        window.location.replace("/teamsites/Bib%20Test/Forms/search.aspx?"+s);

    });
});
</script> 

Document Type
<select id="doctype">
  <option value="general">general</option>
  <option value="history">history</option>
  <option value="budget">budget</option>
  <option value="personal">personal</option>
</select>

Title <input type="text" id="title"> 

Department
<select id="dept">
  <option value="HR">HR</option>
  <option value="Sales">Sales</option>

</select>

       <button type="button" id="button">Click Me!</button>

now i did couple of tests and the results was promising as this appraoch allowed me to:-

benefit from the list view layout, as i will be filtering existing list views. so i do not have to worry about building the search result pages.
the build-in list view paging will respect the original parameters which  i pass. so i do not have to worry about paging.

so as i am going to use this appraoch on multiple lists mainly of type document library. so are there any drawback or limitations on using this appraoch i am unaware of? and is there a better way to manage my requirements? or my appraoch is fine to proceed with?

A:

This is a clever technique to build dynamically filtered view pages without much effort or coding. You're leveraging out-of-the-box features in SharePoint in a creative way. I've done this a few times and I'd say if it meets your requirement, then go for it.
One thing to keep in mind, as mentioned in the comments, users might land on the view page by other means then your button click, and will see the unfiltered view. But I don't think this is a big deal.

