Low Search will always return Entries. The Results tag basically is the same as the channel:entries
tag, but with added filters, including an advanced category filter and Solspace Tag filter, when used with Low Search Tag. It does not return the categories or tags themselves.
So, to filter by category and/or tags, follow the examples in the Low Search docs and Low Search Tag docs. The search results will only have entries that have the selected categories/tags assigned to them.
Also, note that Low Search Tag doesn't have tags itself, it just adds the ability to Low Search to filter by Solspace Tag, using these parameters.
Here's a crude example:
Search Form
{exp:low_search:form
result_page="search"
query="{segment_2}"
require_all="category"
}
Select topic
<select name="category[]">
<option value="">All</option>
{exp:channel:categories channel="speakers" category_group="2" style="linear"}
<option value="{category_id}"{if category_id IN ({low_search_category})} selected="selected"{/if}>
{category_name}
</option>
{/exp:channel:categories}
</select>
Select audience
<select name="category[]">
<option value="">All</option>
{exp:channel:categories channel="speakers" category_group="11" style="linear"}
<option value="{category_id}"{if category_id IN ({low_search_category})} selected="selected"{/if}>
{category_name}
</option>
{/exp:channel:categories}
</select>
Select tag
<select name="tag_id[]" multiple="multiple">
{exp:tag:cloud tag_group_name="group1"}
<option value="{tag_id}"{if tag_id IN ({low_search_tag_id})} selected="selected"{/if}>
{tag}
</option>
{/exp:tag:cloud}
</select>
<button type="submit">Search!</button>
{/exp:low_search:form}
Search Results
{exp:low_search:results
query="{segment_2}"
status="not closed"
disable="member_data|category_fields"
}
...
{/exp:low_search:results}
In summary, this contains:
- A single select for Topic;
- A single select for Audience;
- A multiple select for Tag;
require_all="category"
will make sure only results with both selected categories are returned (so Topic A and Audience X, instead of Topic A or Audience X).
- The search results will contain entries that match any of the selected tags. To change that to all, add
tag_id
to the require_all
parameter, thus: require_all="category|tag_id"
.
If you want to be able to select multiple topics and audiences (so get results from Topic A, B, or C and Audience X, Y, or Z), use the Category Groups option.