Algolia->无法使过滤器与Ais-configure小部件一起使用

时间:2019-08-06 09:14:28

标签: angular filter algolia

我正在使用Angular ais-configure,并尝试向搜索参数添加过滤器,如下所示:

<ais-configure [searchParameters]="{ filters: 'isPrivate:false' }">

这是为了过滤布尔属性

  

isPrivate

在我的文档中。

但是,过滤器不起作用。实际上,它会过滤所有文档,而与属性的值无关。我尝试了多种变体,但没有运气。而且,当我删除过滤器参数时,我会得到所有结果。

这是我完整的代码

<ais-instantsearch [config]="{indexName: 'xx_dummy_index', searchClient: algoliasearch('XXXXX', 'yyyyyyyyyyyyyyyyyyy')}">
  <ais-search-box [autofocus]="true" placeholder="Search for Questions...">
  </ais-search-box>
  <ais-stats></ais-stats>
  <ais-refinement-list attribute="tags"></ais-refinement-list>
  <ais-configure
    [searchParameters]="{ filters: 'isPrivate:false' }">
  </ais-configure>
  <ais-pagination [padding]="3" [showFirst]="true" [showLast]="true"
    [showPrevious]="true" [showNext]="true">
  </ais-pagination>
  <ais-hits>
    <ng-template let-hits="hits" let-results="results">
      <ol>
        <div *ngIf="hits.length === 0">
          ? No results found matching <strong>{{results.query}}</strong>.
        </div>
        <li *ngFor="let hit of hits" class="ais-Hits-item">
          <app-row [hit]="hit"></app-row>
        </li>
      </ol>
    </ng-template>
  </ais-hits>
</ais-instantsearch>

1 个答案:

答案 0 :(得分:0)

使其正常工作。事实证明,提供此输入的正确格式如下:

HTML文件:

<ais-configure [searchParameters]="searchParameters"></ais-configure>

TyepScript文件:

this.searchParameters = {
      hitsPerPage: 7,
      filters: 'isPrivate:false',
    };