如何过滤点击?我有这样的结构:命中有一个属性"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>