如何使用值中的冒号对搜索进行分面过滤?

How to facet filter search with a colon in the value?

我不完全确定 faceting 是什么意思,但它看起来像是一种将查询范围限定到具有键值匹配的记录子集的方法。我想对 account = facebook:123account = twitter:567.

等社交帐户进行分面过滤

Filter the query by a list of facets. Facets are separated by commas and each facet is encoded as attributeName:value.
-- algolia docs

问题是语法中已经包含了一个冒号。我对两个冒号 account:facebook:123 或 uri 编码 account:facebook%3A123 都没有任何运气。

有没有办法在不改变数据的情况下进行分面查询?

这是对文档子集进行范围查询的最佳方式吗?

关于构面的范围界定功能,您是正确的。您也可以将分面视为过滤。

在你的 facet 过滤器中传递冒号没有问题,但是一旦你开始想知道要使用什么语法,就使用这个语法:

{ facetFilters: '["facetKey:facetValue"]' }

JS客户端应该自己编码。

在这里,我猜你没有在 attributesForFaceting 中声明属性 account。您可以使用 API 或在您的 Algolia 仪表板中的索引的“显示”选项卡中执行此操作。