Here's a simple example to get you started. But essentially it's like formit in that you grab the names of the input fields and then insert them into your queryhook. So in this example below we've created an advanced search that will filter results by location. The location is coming from a dropdown select.
The search form (change to your own search results landing page id:
[[!AdvSearchForm? &landing=`91` &tpl=`jobSearchForm`]]
The chunk called 'jobSearchForm':
<form class="advsea-search-form box search" action="[[~[[+advsearch.landing]]]]" method="[[+advsearch.method]]">
<input type="hidden" name="id" value="[[+advsearch.landing]]" />
<input type="hidden" name="asId" value="[[+advsearch.asId]]" />
<div class="title">Job Finder</div>
<input type="text" id="[[+advsearch.asId]]_search" name="[[+advsearch.searchIndex]]" value="[[+advsearch.searchValue]]" placeholder="Search Term">
<select name="location" id="search">
<option selected disabled>Location</option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
<option>Option 5</option>
</select>
<input type="submit" name="sub" value="[[%advsearch.search? &namespace=`advsearch` &topic=`default`]]">
</form>
The snippet called 'filterJobsHook'. This is also where you add in your additional tv value arrays.
<?php
$andConditions = array(
'tv.location:=' => 'location'
);
$qhDeclaration = array(
'qhVersion' => '1.2',
'andConditions' => $andConditions
);
$hook->setQueryHook($qhDeclaration);
return true;
The search results page which will filter the results.
[[!AdvSearch?
&queryHook=`filterJobsHook`
&includeTVs=`location`
&showExtract=`2:content,location`
&withTVs=`location`
&fields=`pagetitle,introtext,publishedon,longtitle,unpub_date,content`
]]
There should be some documentation available for anything additional located in the components folder if I recall.