2016-02-16 10 views
5

Ho un indice in cui sto cercando di passare i valori iniziali per la query in algolia. Sto usando il instantsearch.js e in questo momento si carica solo tutto dal mio indice. Come posso passare i valori iniziali all'indice al caricamento della pagina?Parametri di ricerca iniziali di Algolia instantsearch.js

Per esempio Select * from index where Category='Careers' (passando carriera come valore del carico)

Ho cercato la documentazione per questo e posso capirlo.

Inoltre, ho bisogno di passare più valori, in modo da qualcosa come:

select * from index where Category = 'Careers' or 'Skills' or 'Interests' (con o dichiarazioni)

Grazie!

risposta

11

Presumo che si stia utilizzando un widget refinementList: https://community.algolia.com/instantsearch.js/documentation/#refinementlist. Sull'attributo 'categoria' dei tuoi dati.

Se è così, si può fare questo:

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

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

Avrete anche bisogno di fare questo nel esemplificazione refinementList:

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

     return item; 
    } 
    } 
}); 

Allora tutti gli elementi categorie prescelte avranno la "pre selezionato "css class per impostazione predefinita.

quindi è possibile utilizzare i CSS e questo nome di classe per fare:

.pre-selected { 
    display: none; 
} 

Let me know

+0

Ho provato questo, ma sembra che la serie non fa un "OR" Statement. –

+0

Inoltre, ho appena provato a fare "disjunctiveFacetsRefinements". Funziona, tuttavia controlla solo le caselle nei widget invece di rimuoverle tutte tranne i due valori. –

+0

scusa ho dimenticato di inserire il tuo nome utente @vvo –

Problemi correlati