У меня есть следующий HTML (упрощенно)
<form action="#" method="post">
<input type="text" class="form-control" name="keyWord" id="keyWord" placeholder="key Word">
<input type="text" id="town" class="form-control" name="town" placeholder="town">
<button id="form_button" type="submit" class=""><i class="icon-search"></i></button>
</form>
У меня есть один список индексов с такими атрибутами, как заголовок, город, описание и т. Д.
Для первого ввода текста (#keyWork)Я хотел бы, чтобы атрибуты поиска были "title" и "description" и "town" для второго ввода (#town)
Я не знаю, как иметь 2 окна поиска, которые выполняют поиск внутри другого атрибута ине могу найти пример нигде. Я пытался создать пользовательский виджет, но не знаю, как указать пользовательский атрибут вместо переписывания всего запроса.
Вот пример кода того, чего я достиг на данный момент
const searchClient = algoliasearch( /* keys */ );
const search = instantsearch({
indexName: 'my_index_name',
searchClient: searchClient,
});
const renderCustomTown = (renderOptions, isFirstRendering) => {
const {
items,
currentRefinement,
refine,
clearMapRefinement,
widgetParams,
} = renderOptions;
element.addEventListener('input', event => {
refine(event.target.value)
}); /* Specify attributes here ? */
}
// Create the custom widget
const searchTown = instantsearch.connectors.connectSearchBox(
renderCustomTown
);
search.addWidget(
searchTown({
element: document.querySelector('#town'),
})
);
Спасибо за вашу помощь