我的 ElasticSearch 索引未正确索引和查询非字母数字字符。具体来说,点和破折号会导致问题。
如果我索引一个名为“OK Corral”的文档,它应该匹配“OK Corral”的查询。同样,如果我索引“Whiskey A Go-Go”,我希望它匹配“Whiskey A GoGo”和“Whiskey A Go Go”。
现在,只有带有正确点和破折号的查询才会返回这些文档。
我希望该解决方案还可以解决其他非字母数字字符(如逗号和撇号)的任何潜在问题。
这听起来像是 ElasticSearch 令牌过滤器的工作,但我一直无法找到一个能满足我要求的功能。另外,我想在 ElasticSearch 中执行此操作——我不想在数据到达我的 ES 索引之前编写自定义字符串操作来规范化数据。
谢谢你的帮助!