如何对@field 中带有 - 的项目进行重新搜索?

How to do a redisearch search for items that have @field with a - in it?

我有一个产品重新搜索索引,其中的字段确实包含“-”等特殊字符。我一直在尝试搜索类别字段为 "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\""

我尝试了以下方法,包括 运行 ft.explain 所有来自 cli 和 rdm 的方法,但没有成功。我也希望它是完全匹配的。

到目前为止他们都 return 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 的所有产品。

你的问题是你还需要索引字段 - 转义。