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

时间:2016-10-27 15:13:13

标签: algolia

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

例如,给定带有标记apple (red)的记录的Fruit索引,如果使用tagFilters: "apple (red)"查询(使用JS库),即使有记录,也不会返回任何结果标签。

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

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

修改

我在特殊字符上看到了FAQ。但是,似乎即使我将()设置为索引的分隔符,也只会影响可搜索的直接attriubtes,而不是标记。它是否正确?我可以将分隔符更改为标记上的索引吗?

1 个答案:

答案 0 :(得分:1)

您应该尝试使用代码的数组语法:

tagFilters: ["apple (red)"]

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

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

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