查询多个索引时,如何为 algolia 中的每个索引使用不同的搜索参数? (Vue 即时搜索)

When querying multiple indices, how do I use different search parameters for each respective index in algolia? (Vue Instantsearch)

我正在使用具有多个索引的 Vue Instantsearch。

查询在 ais-search-box 组件中进行,同时查看两个索引并在 ais-autocomplete 组件中显示结果。

这很好用,但是我找不到为每个索引分配相应的 ais-configure 组件的方法,因此必须对两个索引使用 same 过滤器. 正如您想象的那样,两个索引包含不同的属性,这不会按预期工作。

文档提到了这一点:

Since these are two dedicated indices, you can apply different parameters and widgets to the search. You can do it by passing different parameters to ais-configure, or mounting different widgets in each of the ais-index components. (source: https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/vue/)

似乎不​​清楚如何“将不同的参数传递给 ais-configure”? 谁能举个例子吗?

在同一页面的下方有一个 github 带有示例的存储库。这是对相关代码的深入 link:

https://github.com/algolia/doc-code-samples/blob/master/Vue%20InstantSearch/multi-index-hits/src/App.vue

您可以将 ais-config 嵌套在 ais-index 组件下进行第二次搜索。类似于:

      <ais-instant-search
        :search-client="searchClient"
        index-name="instant_search_price_desc"
      >
        <ais-search-box v-model="query" />
        <ais-configure
          :restrictSearchableAttributes="['name']"
          :hitsPerPage="8"
        />
        <ais-hits>
          <template slot="item" slot-scope="{ item }">
            <h3><ais-highlight :hit="item" attribute="name" /></h3>
            <img :src="item.image" />
          </template>
        </ais-hits>
        <hr />
        <ais-index :search-client="searchClient" index-name="instant_search">
          <ais-configure
           :restrictSearchableAttributes="['name']"
           :hitsPerPage="2"
          />
         <ais-hits>
            ...