Я хочу создать подобный запрос для следующих объединенных полей:
[
field1.field1_nested.field1_nested_field1,
field1.field1_nested.field1_nested_field2,
field1.field2_nested.field2_nested_field1,
field1.field3_object.field3_object_field1.*,
field2,
field3
]
Упругое отображение:
{
"BaseObject(type)": {
"properties": {
"field1": {
"type": "object",
"properties": {
//Nested1
"field1_nested": {
"type": "nested",
"properties": {
"field1_nested_field1": {
"type": "keyword"
},
"field1_nested_field2": {
"type": "keyword"
}
}
},
//Nested2
"field1_nested2": {
"type": "nested",
"properties": {
"field1_nested2_field1": {
"type": "keyword"
}
}
},
//Object
"field1_object": {
"type": "object",
"properties": {
"field1_object_field1": {
"type": "text",
"fields": {
"default": {
"type": "text",
"analyzer": "whitespace_analyzer",
"term_vector": "with_positions_offsets"
},
"en": {
"type": "text",
"analyzer": "english",
"term_vector": "with_positions_offsets"
}
}
}
}
}
}
},
//Other fields
"field2": {
"type": "keyword"
},
"field3": {
"type": "keyword"
}
}
}
}
Мне нужны похожие объекты на основе вышеуказанных полей, я пробовал вот так
{
"query": {
"bool": {
"more_like_this": {
"like": {
"_id": 13756018,
"_type": "BaseObject(type)",
"_index": "my_index"
},
"min_term_freq": 1,
"fields": [
"field1.field1_nested.field1_nested_field1",
"field1.field1_nested.field1_nested_field2",
"field1.field2_nested.field2_nested_field1",
"field1.field3_object.field3_object_field1.*",
"field2",
"field3"
]
}
}
},
"from": 0,
"size": 6
}
Но не работает, потому что есть 2 разных вложенных типа. Я пробовал с
следует и разделить на 3 больше, как этот запрос, но проблема здесь заключается в следующем: из-за должен будет вернуть все объекты, если только один файл равен