1

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

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

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

文档提到了这一点:

由于这是两个专用索引,因此您可以将不同的参数和小部件应用于搜索。您可以通过向 传递不同的参数ais-configure或在每个组件中安装不同的小部件来实现ais-index。(来源:https ://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/vue/ )

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

4

1 回答 1

0

有一个 github 存储库,在同一页面的下方有一个示例。这是相关代码的深层链接:

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>
            ...
于 2022-02-07T20:09:43.433 回答