У меня есть индекс эластичности с типами для разных языков.Многопользовательский поиск в elasticsearch с отдельными идентификаторами после заказа
Мне нужно выбрать различные документы с текущим языком, если они доступны, и любые другие, если текущий язык недоступен.
я могу сделать что-то вроде этого в PostgreSQL (хотя, вероятно, лучший способ сделать это):
SELECT DISTINCT ON (i) * FROM
(SELECT * FROM
(SELECT id i, name n, locale l, f_active a FROM news c
UNION ALL
SELECT id i, name n, locale l, (SELECT cc.f_active FROM news cc WHERE cc.id = cl.id) a FROM news_locale cl
) s
ORDER BY l = 'en' DESC
) ss
WHERE a = true
Интересно, если это возможно сделать в elasticsearch?
P.S. Я мог бы сохранить все локализованные поля в одном документе, но проблема в том, что большую часть времени мне нужно выбрать только одну конкретную локаль.