Elasticsearch忽略了facet术语的空格和大小写

时间:2013-05-09 13:16:32

标签: elasticsearch faceted-search

我已经使用标记为no_analysis的一些字段创建了我的es模式来创建构面。但似乎我的一些数据包含空格或小写字母。例如 对于一个名为color的字段,我有值“BLACK”,“Black”,“Black”,这导致了3个不同的方面术语。有没有办法在不更改数据的情况下处理这个问题?

1 个答案:

答案 0 :(得分:2)

如果您使用keyword tokenizer,则可以在不对其进行标记的情况下分析文本。这意味着“Black Dog”不会被分成两个令牌,但您可以应用令牌过滤器来修改令牌,例如使用lowercase filter小写它们并使用trim token filter修剪它们。

您需要在索引设置中创建custom analyzer,并将其用于您正在面对的字段的映射中。

因此,您可以将三个“黑色”,“黑色”和“黑色”中唯一的“黑色”标记编入索引作为输入。