У меня есть такое отображение:
{
"post": {
"properties": {
"author_gender": {
"type": "string",
"index": "not_analyzed",
"omit_norms": true,
"index_options": "docs"
},
"author_link": {
"type": "string",
"index": "no"
},
"content": {
"type": "string"
},
"mentions": {
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"profile_image_url": {
"type": "string"
},
"screen_name": {
"type": "string"
}
}
}
}
}
Мне нужно выполнить поиск по размеру объекта mentions
. Я пробовал это:
{
"filter": {
"script": {
"script": "doc['mentions'].values.length == 2"
}
}
}
Это не работает. Выдает ошибку
inested: ElasticSearchIllegalArgumentException [Поле не найдено для [упоминает] при сопоставлении типов [post]];
Я также попытался заменить часть script на doc['mentions.id'].value.length == 2
. Это также ошибка
вложен: ArrayIndexOutOfBoundsException [10];
Как запрашивать записи с mentions
размером объекта 2?