Elasticsearch:Runtime fields - 运行时字段
在Elasticsearch中,运行时字段(Runtime fields)是一种在查询时定义的临时字段,它允许你在不需要将数据预先映射到索引中的情况下对数据执行复杂的转换或计算。
以下是一个如何在Elasticsearch查询中使用运行时字段的例子:
POST /my_index/_search
{
"runtime_mappings": {
"runtime_field_name": {
"type": "keyword",
"script": {
"source": "doc['my_field'].value + 'suffix'"
}
}
},
"query": {
"match": {
"runtime_field_name": "my_value"
}
}
}
在这个例子中,我们定义了一个运行时字段runtime_field_name
,它将取my_field
的值,并在其末尾添加"suffix"字符串。然后我们执行一个查询,匹配runtime_field_name
为"my\_value"的文档。这里的my_field
应该是实际存在于索引映射中的字段。
请注意,运行时字段不会存储在索引中,它们只在查询执行时生成。此外,运行时字段功能需要Elasticsearch 7.10或更高版本。
评论已关闭