Задать вопрос
  • Как сделать выборку по multi part индексу в tarantool?

    @ArtDub
    Индекс сравнивает оба элемента, сравнение идет сначала по первому полю и если первое поле таплов равно, то сравнивается второе поле.

    Необходимо выбрать статьи из категории 'videos' там где timestamp больше указанной даты

    Можно по разному придумать решение это задачи. Мое предложение:

    box.space.posts:create_index('category_listing', {
        type = 'tree',
        parts = { 12, 'string', 8, 'integer' } ,
        unique = false,
        if_not_exists = true
    })
    
    result = {} 
    for _, t in box.space.posts.index.category_listing:pairs(
            { 'videos', 1486499758 },
            { iterator = box.index.GE, limit = limit, offset = offset}
        ) do
        if t[12] ~= 'videos' then
            break
        end
        if t[8] > 1486499758 then 
            table.insert(result, t)
        end
    end
    Ответ написан
    Комментировать