我正在尝试查询我在elasticsearch(版本5.0.0)索引中的字段的.raw版本。该字段的名称是“region”,其映射如下:
{
"properties": {
"region": {
"type": "text", "analyzer": "custom_analyzer",
"fields": {
"raw": {
"type": "keyword", "index": "not_analyzed"
}
}
}
}
}
请注意,我最初使用分析的版本设置了区域映射,在第二步中,我通过添加字段的原始版本来更新映射。
据我所知documentation和类似question,我可以查询原始字段以获取区域与我的查询完全匹配的文档。 但是,通过使用以下查询,不会返回任何结果。
{
"match": {
"region.raw": "Northern Ireland"
}
}
相反,通过使用我的字段的分析版本,结果将按预期返回。
{
"match": {
"region": "Northern Ireland"
}
}
由于我需要使用原始字段,因此我有以下问题:
非常感谢你的帮助。
答案 0 :(得分:4)
不,你的查询是正确的。问题是您必须重新索引数据才能使用新的映射版本进行索引。