如何通过布尔atrribute过滤我的搜索



如何过滤点击?我有这样的结构:命中有一个属性"like"它是一个布尔值,我只想显示具有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属性时,它不起作用,怎么了?

我试过了,但没有成功,而这个很好,我需要类似布尔值的属性

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

转到您的仪表板并选择您的索引。单击配置选项卡。在筛选和镶嵌类别下,单击镶嵌。在里面在"贴面属性"区域中,单击"添加属性",然后选择要声明用于面处理的属性。对于每个属性,单击右侧的下拉列表并将其设置为"可搜索"、"仅筛选"或"不可搜索"。别忘了保存您的更改此信息来自: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

Modifiers:#filterOnly:将属性定义为仅可筛选,并且不可面对面。

如果你只需要过滤功能,你可以利用filterOnly,它将减小索引大小并提高搜索。

不能将属性同时定义为"filterOnly"one_answers"searchable"。因此,以下是不可行的:filterOnly(可搜索(attributeName))。

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

然后这将工作

<Configure  filters="like:true" hitsPerPage={100} />

Configure小部件就是这个用例的出发点。您必须确保提供的属性在attributesForFaceting的列表中,否则过滤器将无法工作。下面是一个使用字段free_shipping的示例,该字段是布尔属性。

<InstantSearch searchClient={searchClient} indexName="instant_search">
<Configure filters="free_shipping:true" />
</InstantSearch>

相关内容

  • 没有找到相关文章

最新更新