问题描述
如何过滤点击?我有这样的结构:Hit 有一个属性“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 属性时,这不起作用是什么问题?
我尝试过但没有用,虽然这个很好用,但我需要像布尔值这样的属性
解决方法
Configure
小部件是用于此用例的方法。您必须确保提供的属性在 attributesForFaceting
列表中,否则过滤器将不起作用。这是一个使用字段 free_shipping
的 example,它是一个布尔属性。
<InstantSearch searchClient={searchClient} indexName="instant_search">
<Configure filters="free_shipping:true" />
</InstantSearch>
,
首先你应该从仪表板配置
转到您的仪表板并选择您的索引。点击配置 标签。在过滤和分面类别下,单击分面。在 在分面属性部分,单击添加属性和 选择您希望为分面声明的属性。对于每个 属性,单击右侧的下拉列表并将它们设置为 “可搜索”、“仅过滤”或“不可搜索”。不要忘记保存 你的改变 此信息来自: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”和“searchable”。 因此,以下是不可行的: filterOnly(searchable(attributeName)).
可搜索:将属性定义为可搜索。
这样就可以了
<Configure filters="like:true" hitsPerPage={100} />