有没有办法在页面加载时创建面向的Algolia查询字符串?

时间:2017-03-02 18:50:56

标签: algolia

基本上我们有一个愚蠢的"我们网站上的搜索栏。提交表单后,它只会将用户发送到我们的Algolia instantsearch.js所在的/search?q={query}

我们想在这个愚蠢的搜索栏中添加一个下拉列表,以过滤到Car,Truck,Boat或Airplane。该值在我们的Algolia指数中为category,并且已经分层。

有关构建具有Algolia instantsearch.js将会获取的构面的查询字符串的文档吗?感谢您!

1 个答案:

答案 0 :(得分:2)

经过更多Google-fu后,我能够找到this issue on Algolia's Github,这正是我所需要的。以下是适用于我们的代码:

<form method="GET" action="/search">
    <input type="text" name="q" />
    <select name="dFR[category][0]">
        <option disabled="disabled" selected="selected">All types</option>
        <option value="Car">Car</option>
        <option value="Truck">Truck</option>
    </select>
</form>

如果用户没有选择类型,则会将其发送到/search?q={query}。如果用户选择了某种类型,例如&#34; Car&#34;,则会将其发送到/search?q={query}&dFR[category][0]=Car(当然是网址编码。)

这适用于正确的过滤器,假设在category上设置了分面,并且您正在使用相当普遍的instantsearch.js实现。