2016-02-16 57 views
5

我有一個索引,我試圖通過algolia查詢的初始值。我正在使用instantsearch.js,現在它只是加載我的索引中的所有內容。如何在頁面加載時將初始值傳遞給索引?Algolia初始搜索參數instantsearch.js

例如Select * from index where Category='Careers'(通過事業上的負荷值)

我搜索過此文件,並不能弄明白。

而且,我需要通過多個值,所以是這樣的:

select * from index where Category = 'Careers' or 'Skills' or 'Interests'(有或報表)

謝謝!

回答

11

我假設您使用的是refinementList小部件:https://community.algolia.com/instantsearch.js/documentation/#refinementlist。在數據的'類別'屬性上。

如果是的話,你可以這樣做:

var preselectedCategories = ['Careers', 'Skills']; 

var search = instantsearch(applicationID, apiKey, { 
    ...other parameters, 
    searchParameters: { 
    disjunctiveFacetsRefinements: { 
     category: preselectedCategories 
    } 
    } 
}) 

您還需要做到這一點的refinementList實例:

var refinementList = instantsearch.widgets.refinementList({ 
    transformData: { 
    item: function(item) { 
     if (preselectedCategories.indexOf(item.name) !== -1) { 
     item.cssClasses.label += ' pre-selected'; 
     } 

     return item; 
    } 
    } 
}); 

然後,所有預選類項目將有「預選中「css 默認類。

然後你可以使用CSS和這個類的名字做:

.pre-selected { 
    display: none; 
} 

讓我知道

+0

我想這一點,但似乎陣列未執行「或」聲明。 –

+0

另外,我只是嘗試做「disjunctiveFacetsRefinements」。這可以工作,但它只是檢查小部件中的複選框,而不是將它們全部除去,而是刪除這兩個值。 –

+0

對不起忘了把你的用戶名@vvo –