【问题标题】:How to add numeric filter to Algolia ais-instantsearch component in Angular 6如何在 Angular 6 中向 Algolia ais-instantsearch 组件添加数字过滤器
【发布时间】:2018-08-23 06:48:50
【问题描述】:

我正在使用 Algolia 的 ais-instantsearch 组件在 Angular 中搜索和显示结果。

目前,这是我的代码,

<ais-instantsearch [config]="config">
    <ais-hits>
        ...
    </ais-hits>
</ais-instantsearch>

现在我的问题是,如何在这个搜索请求中添加 numericFilter?

例如,我想返回属性为is_simple=1 的所有命中。如何实现?

【问题讨论】:

    标签: javascript node.js angular angular6 algolia


    【解决方案1】:

    我知道以下三个选项,具体取决于过滤器应该多久更换一次。

    1.配置小部件中的搜索参数

    <ais-instantsearch [config]="config">
      <ais-configure [searchParameters]="{ filters: 'is_simple=1' }">
      </ais-configure>
      ...
    </ais-instantsearch>
    

    您可以动态编辑过滤器,这将导致搜索被触发。

    来源:https://community.algolia.com/angular-instantsearch/widgets/configure.html

    2。 InstantSearch Widget 中的 searchParameters

    您可以按照 Ajay 之前的建议,直接在 InstantSearch 小部件的配置中添加过滤器。如果是永久过滤器,请使用此选项。

    来源:https://community.algolia.com/angular-instantsearch/widgets/instantsearch.html

    3。 InstantSearch 小部件中的 searchFunction

    <ais-instantsearch [config]="{
              apiKey: 'XXXXXXXXXXXXXXXX',
              appId: 'XXXXXXX',
              indexName: 'test_index',
              searchFunction: searchFunction }" >
    ...
    </ais-instantsearch>
    

    每当触发搜索时都会调用 searchFunction 挂钩,为您提供AlgoliaSearchHelper

       searchFunction(helper) {
         helper.addNumericRefinement('is_simple', '=', '1');
         helper.search();
       }
    

    确保实际触发搜索。如果您想在每次搜索时编辑过滤器,请使用此选项。

    来源:https://community.algolia.com/angular-instantsearch/widgets/instantsearch.html

    【讨论】:

      【解决方案2】:

      您是否尝试过扩展config 以包含searchParameters,正如他们在docs 中所描述的那样 - 但还要注意recommended 使用基本filters 而不是numericFilters

      <ais-instantsearch
        [config]="{
          apiKey: '6be0576ff61c053d5f9a3225e2a90f76',
          appId: 'latency',
          indexName: 'instant_search',
          searchParameters: {
              filters: 'is_simple=1'
          }
        }"
      >
        <ais-hits>
          ...
        </ais-hits>
      </ais-instantsearch>
      

      【讨论】:

        猜你喜欢
        • 2016-11-10
        • 2023-04-03
        • 2019-12-13
        • 2018-04-23
        • 1970-01-01
        • 1970-01-01
        • 2018-08-07
        • 1970-01-01
        • 2021-05-07
        相关资源
        最近更新 更多