【发布时间】:2017-04-17 23:00:12
【问题描述】:
我有一个字符串我想索引为关键字类型,但使用特殊的逗号分析器: 例如:
“旧金山,波士顿,纽约”->“旧金山”,“波士顿,“纽约”
应该同时被索引和聚合,以便我可以按桶将其拆分。在 5.0.0 之前,以下工作: 索引设置:
{
'settings': {
'analysis': {
'tokenizer': {
'comma': {
'type': 'pattern',
'pattern': ','
}
},
'analyzer': {
'comma': {
'type': 'custom',
'tokenizer': 'comma'
}
}
},
},
}
具有以下映射:
{
'city': {
'type': 'string',
'analyzer': 'comma'
},
}
现在在5.3.0 及以上,分析器不再是关键字类型的有效属性,我的理解是我在这里想要一个keyword 类型。如何使用自定义分析器指定可聚合、索引、可搜索的文本类型?
【问题讨论】:
-
在 5.2 及更高版本中,
keyword字段现在可以有 normalizers,但那些只允许特定的标记过滤器和字符过滤器,但没有标记器,所以这不是一种方法。在将它发送到 ES 之前,你有什么方法可以在客户端拆分该字符串?
标签: elasticsearch elasticsearch-5