【发布时间】:2019-09-02 22:17:29
【问题描述】:
我有一个重新搜索索引,其中的字段包含特殊字符,如“-”。我一直在尝试搜索类别字段为“Multiroom-høttaler”的产品。
这是直接来自 redis-cli 的示例条目:
1) shortDescription
2) "\"Urbanears Stammen multiroom-h\xc3\xb8yttaler leverer stor, velbalansert lyd i et design som harmonerer med interi\xc3\xb8ret til ethvert hjem.\""
3) brand
4) "\"Urbanears\""
5) title
6) "\"Urbanears Stammen multiroom-h\xc3\xb8yttaler (bl\xc3\xa5)\""
7) articleNumber
8) "\"STAMMENBU\""
9) category
10) "\"Multiroom-h\xc3\xb8yttaler\""
我尝试了以下方法,包括从 cli 和 rdm 对所有这些都运行 ft.explain,但没有成功。我也希望它是完全匹配的。
到目前为止,它们都返回 0 次点击。
ft.search no @category:Multiroom-høyttaler
ft.search no @category:Multiroom\-høyttaler
ft.search no @category:Multiroom\\-høyttaler
ft.search no @category:\"Multiroom-høyttaler\"
ft.search no @category:\"Multiroom\\-høyttaler\"
ft.search no @category:\\"Multiroom\-høyttaler\\""
ft.search no @category:"\\"Multiroom\\-høyttaler\\""
我希望获得 Multiroom-høyttaler 类别的所有产品。
【问题讨论】:
-
您的问题是您还需要index 转义
-的字段。 -
此外,我可能会建议将诸如“类别”之类的字段设为
TAG字段,因为我认为可供选择的选项很少。 -
@MarkNunberg 谢谢,我将对此进行测试。有点不确定如何使用 TAG,但会阅读它。
-
@MarkNunberg 使用转义重新建立索引有效。谢谢,给个答案,我会接受的。
标签: redisearch