0

如何过滤命中?我有这个结构:命中有一个属性“喜欢”它是一个布尔值,我只想显示命中like===true

 <Configure hitsPerPage={100} />
   <Grid >
     <Grid >
       <Hits hitComponent={Hit} />
     </Grid>
   </Grid>

在女巫部分我可以使用过滤器吗?

这是我要搜索的配置,即本文档https://www.algolia.com/doc/api-reference/widgets/configure/react/

<InstantSearch
        searchClient={vclient}
        indexName={`myVarClient`}
      >

我正在尝试使用<Configure filters="category:secure" hitsPerPage={100} />它,但是当我尝试使用 bool 属性时,这不起作用有什么问题?

我试过但没有用,而这个工作很好我需要布尔属性

4

2 回答 2

0

Configure部件是此用例的方法。您必须确保提供的属性在列表中,attributesForFaceting否则过滤器将不起作用。这是一个使用布尔属性字段的示例。free_shipping

<InstantSearch searchClient={searchClient} indexName="instant_search">
  <Configure filters="free_shipping:true" />
</InstantSearch>
于 2021-02-11T12:09:31.910 回答
0

首先,您应该从仪表板进行配置

转到您的仪表板并选择您的索引。单击配置选项卡。在过滤和分面类别下,单击分面。在 Attributes for faceting 部分中,单击 Add an Attribute 并选择您希望为 faceting 声明的属性。对于每个属性,单击右侧的下拉菜单并将它们设置为“可搜索”、“仅过滤”或“不可搜索”。不要忘记保存您的更改,此信息来自:https ://www.algolia.com/doc/guides/managing-results/refine-results/faceting/how-to/declaring-attributes-for-faceting/

或者从它的 api 客户端:

index.setSettings({
  attributesForFaceting: [
    'like',
  ]
}).then(() => {
  // done
});

更多信息:https ://www.algolia.com/doc/api-reference/api-parameters/attributesForFaceting/#examples

修饰符:# filterOnly:将属性定义为仅可过滤而非可分面。

如果您只需要过滤功能,您可以利用 filterOnly 来减少索引大小并提高搜索速度。

您不能将属性定义为“filterOnly”和“searchable”。因此,以下内容是不可行的:filterOnly(searchable(attributeName))。

可搜索:将属性定义为可搜索。

那么这将起作用

<Configure  filters="like:true" hitsPerPage={100} />
于 2021-02-11T22:24:48.713 回答