有什么方法可以在使用过滤器查询时转换字段的数据类型。我的场景是我有一个带有字段的文档
customData: {
"contactCustomFieldMapId":xxxx,
"contactId":xxxxx,
"customFieldId":45788,
"value":"1899",
"fieldInputTypeId":0
},
{
"contactCustomFieldMapId":xxxx,
"contactId":xxxxx,
"customFieldId":45732,
"value":"Meet me at noon",
"fieldInputTypeId":0
},
{
"contactCustomFieldMapId":xxxx,
"contactId":xxxxx,
"customFieldId":23233,
"value":"233589",
"fieldInputTypeId":0
}
在上面的字段中,value 属性可以是任何数据类型(字符串、数据时间或数字),因为我需要使用范围过滤器(大于、小于)来获取数据。此范围过滤器应与术语过滤器结合使用 bool 过滤器作为
"filter": {
"and": {
"filters": [
{
"bool": {
"must": [
{
"and": {
"filters": [
{
"term": {
"customData.customFieldId": 45788
}
},
{
"range": {
"customData.value": {
"gt": "1000"
}
}
}
]
}
}
]
}
}
]
}
}
不幸的是,查询正在获取 customData.customFieldId 为 45788 的所有记录(与存在过滤器类似)。
有什么方法可以将术语过滤器和范围过滤器结合起来。