这是我的数据:
{
"firstname" : "blablabla",
...
"otherDatas" : [
{
"reference" : "40xxx1372",
"universe" : "marketing",
"dataType" : "id"
},
{
"reference" : "roleA",
"universe" : "finance",
"dataType" : "role"
}
],
}
仅当我的otherDatas的数据类型为“ role”时,我才需要为otherDatas特殊情况创建一个映射,例如具有otherDatas.role.reference:关键字。
所以我可以搜索组织中具有给定角色的所有用户
有没有办法实现这一目标?
答案 0 :(得分:2)
设计映射之前,了解values
属于哪种类型key
同样重要。请查看text
和keyword
类型之间的区别。我假设所有这些字段均为keyword
,表示一个单词,不需要对这些值进行任何分析。
关于您的映射,我相信nested
对象可能使您感到困惑。这是您的处理方法(如果您有任何特定的问题,请告诉我)
PUT so_test14
{
"mappings": {
"_doc":{
"properties":{
"firstname": {"type":"keyword"},
"otherDatas": {
"type": "nested",
"properties": {
"reference": {"type": "keyword"},
"universe": {"type": "keyword"},
"dataType": {"type": "keyword"}
}
}
}
}
}
}