Алголия - Мгновенный поиск с несколькими окнами поиска - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть следующий 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'),
  })
);

Спасибо за вашу помощь

...