我想使用弹性搜索来索引下面提供的 JSON 架构
{
"data": "etc",
"metadata": {
"foo":"bar",
"baz": "etc"
}
}
但是,元数据可能会有所不同,我不知道可能存在的所有字段。有没有办法告诉弹性搜索,如果它在元数据对象中看到一个值,它会以某种方式对其进行索引?(我知道所有值都是字符串(
谢谢
是的,您可以使用动态模板来做到这一点,基本上是这样的:
PUT my_index
{
"mappings": {
"_doc": {
"dynamic_templates": [
{
"full_name": {
"path_match": "metadata.*",
"mapping": {
"type": "text" <---- add your desired mapping here
}
}
}
]
}
}
}