Я использую каменьasticsearch_rails, чтобы делать запросы на поиск.
У меня есть такие сопоставления
mapping do
indexes :id, type: 'keyword'
indexes :name, type: 'text'
indexes :slug, type: 'keyword'
indexes :variants, type: 'nested' do
indexes :id, type: 'keyword'
indexes :sku, type: 'keyword'
indexes :main, type: 'boolean'
indexes :price, type: 'float'
end
end
def as_indexed_json(options = {})
as_json(only: ['id', 'name', 'slug'],
include: {
variants: {
only: ['id', 'sku', 'main', 'price']
}
})
end
и то, что я пытаюсь сделать, это получить все элементы «родителей», но без «вариантов». Я хочу получить все продукты без вариантов, даже если у них есть варианты.
Я пытаюсь это сделать, потому что, когда у меня есть продукт с большим количеством вариантов (например, продукт с вариантами 2.5k) ,asticsearch возвращает мне всю «коллекцию» (продукт и все его варианты), и если я собираюсь перечислить 20 продуктов с 2k вариантов каждый, это займет вечность.
Я получаю все продукты с простым продуктом. asticsearch .search ('*') запрос
Привет.