我有多个映射来自同一个数据源,但差异很小,如下例所示。
{
"type_A" : {
"properties" : {
"name" : {
"type" : "string"
}
"meta_A" : {
"type" : "string"
}
}
}
}
{
"type_B" : {
"properties" : {
"name" : {
"type" : "string"
}
"meta_B" : {
"type" : "string"
}
}
}
}
我希望能够:
我正在研究的是类型过滤器,所以我最好能写一个这样的查询:
{
"query": {
"filtered" : {
"filter" : {
"type" : { "value" : "unified_type" }
}
}
// other query clauses
}
}
因此,我不想在类型过滤器的or子句中输入"type_A"
,"type_B"
,而是希望拥有此"unified_type"
,但不要放弃直接查询{{1}的可能性}}
我怎么能得到这个?
答案 0 :(得分:0)
我不认为这是可能的。但是,您可以使用copy_to
功能,因此您可以使用现在的字段并将其值复制到统一名称中。
first_name
参数允许您创建自定义_all字段。在 换句话说,可以将多个字段的值复制到一个组中 字段,然后可以作为单个字段查询。例如, 可以将last_name
和full_name
字段复制到"meta_A"
字段 如下:
因此,您要将"meta_B"
和"unified_meta"
复制到某个private String notNull(String input){ if (input != null) { return input.trim(); } return ""; }
字段中并查询此字段。