我不完全确定faceting的含义,但它看起来像是一种将查询范围限定为具有键值匹配的记录子集的方法.我想在社交帐户上过滤,如account = facebook:123或account = twitter:567.
通过构面列表过滤查询.构面用逗号分隔,每个构面编码为
attributeName:value.
- algolia docs
问题是语法已包含冒号.我对两个冒号account:facebook:123或uri编码都没有运气account:facebook%3A123.
有没有办法在不改变数据的情况下进行分面查询?
这是范围查询文档子集的最佳方式吗?
你对方面的范围界定能力是正确的.您还可以将faceting视为过滤.
在facet过滤器中传递冒号没有问题,但是一旦开始想知道要使用什么语法,只需使用以下语法:
{ facetFilters: '["facetKey:facetValue"]' }
Run Code Online (Sandbox Code Playgroud)
JS客户端应该自己编码.
在这里,我猜你没有声明account你的属性attributesForFaceting.您可以使用API或在Algolia仪表板中,在索引的"显示"选项卡中执行此操作.