以特殊字符结尾时无法搜索 Algolia 标签

Algolia tag not searchable when ending with special characters

我遇到了一种奇怪的情况,我无法搜索以特殊字符结尾的字符串标签。到目前为止,我已经尝试了 )]

例如,给定一个水果索引,其中有一条记录带有标签apple (red),如果你用tagFilters: "apple (red)"查询(使用JS库),即使有记录也不会返回任何结果有了这个标签。

但是,如果将标记更改为 apple (red(不以特殊字符结尾),将返回结果。

这是一个已知问题吗?有办法解决这个问题吗?

编辑

我在特殊字符上看到了这个 FAQ。但是,似乎即使我将 () 设置为要索引的分隔符,也只会影响可搜索的直接属性,而不影响标签。这个对吗?我可以更改分隔符以在标签上建立索引吗?

您应该尝试对标签使用数组语法:

tagFilters: ["apple (red)"]

当前失败的原因是 tagFilters 的语法。当您传递一个字符串时,它会尝试使用一种特殊的语法对其进行解析,记录在 here 中,其中逗号表示 "AND",括号分隔 "OR" 组。

顺便说一句,tagFilters 现在已弃用,因为 filters 参数提供了更清晰的语法。对于您的具体示例,您可以这样使用它:

filters: '_tags:"apple (red)"'