Параметры / область действия по умолчанию для Algolia InstantSearch - PullRequest
0 голосов
/ 13 мая 2018

У меня есть приложение React, использующее библиотеку Algoia InstantSearch.Этот https://community.algolia.com/react-instantsearch/

  <InstantSearch
    appId="KJH78673IUH"
    apiKey="e55e048w7fh8wh8wrgh834c3ea51e3"
    indexName="Events"
  >
    <Configure hitsPerPage={10} />
    <SearchBox />
    <h3>Latest Events</h3>
    <Hits />
    <Index indexName="Venues">
      <h3>Latest Venues</h3>
      <Hits />
    </Index>
    <Index indexName="Users">
      <h3>Latest Users</h3>
      <Hits />
    </Index>
  </InstantSearch>

Работает нормально и выводит результаты по мере ввода.Тем не мение.На каждой записи о событии, месте проведения и пользователе у меня есть атрибут site_id.Я изо всех сил пытаюсь выяснить, как я могу установить site_id как область по умолчанию в поисковом запросе.По аналогии с тем, как default_scope работает в Rails.Я уверен, что это возможно, но не могу понять.

Любая помощь будет признательна!

1 Ответ

0 голосов
/ 14 мая 2018

Я понял, как это сделать с помощью VirtualWidgets.

https://community.algolia.com/react-instantsearch/connectors/connectMenu.html

В области индекса для определенного атрибута я использовал следующий метод:

import { connectMenu } from 'react-instantsearch/connectors';
const VirtualMenu = connectMenu(() => null);
// RESET OF COMPONENT CODE
<InstantSearch
    appId="KJH78673IUH"
    apiKey="e55e048w7fh8wh8wrgh834c3ea51e3"
    indexName="Events"
  />
    <Configure hitsPerPage={10} />
    <VirtualMenu attribute="site_id" defaultRefinement="1" />
    <SearchBox />
    <h3>Latest Events</h3>
    <Hits />
    <Index indexName="Venues">
      <h3>Latest Venues</h3>
      <Hits />
    </Index>
    <Index indexName="Users">
      <h3>Latest Users</h3>
      <Hits />
    </Index>
  </InstantSearch>

Вы также можете добавить VirtualWidget в сам блок Index.

...