Unsort Collection

Тема в разделе "Lotus - Программирование", создана пользователем yerke, 13 фев 2009.

  1. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    привет всем

    Set notesDocumentCollection=notesDocument.Responses

    возвращает коллекцию отсортированную по дате создания респонсев
    а мне надо достать их вообще не сортированном виде
    как сделать
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Rnd и GetNthDocument? :(
     
  3. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    эти функционалы я и пользую тока в начале
    потом в ход пускаю GetNextDocument

    но каждый следующий док идет отсорированном порядке
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Потому что не надо GetNextDocument.
     
  5. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    в хелпе же написано notesDocumentCollection будет отсортировант тока том случае если его достать
    через FTSearch GetAllDocumentsByKey итп

    почему Лотус возвращает коллекцию респонсев по дате создания

    Ordering of documents
    The documents in a collection are ordered when the collection results from a full-text search; otherwise, the documents are unordered.
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Вроде бы отсортированная коллекция получается только при FTSearch.

    Значит, так получилось.
     
  7. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    :)
     
  8. Murtas

    Murtas Well-Known Member

    Регистрация:
    11 апр 2006
    Сообщения:
    123
    Симпатии:
    0
    ... впервые такую надобность встречаю :) - обычно нужно обратное - по какому нибудь признаку
     
  9. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Я тоже. Интересно, зачем это надо.
     
  10. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    объясняную

    например есть вопросы тестов по матиматике (всего допустим 120 вопросов-респонсев)
    первые 40 из них по алгебре
    след. 40 по дискретке
    а след. 40 по матанализу

    и они загружены в базу по этому порядку и соответ-но их дата создание идет по порядку
    и я достаю первый док из коллекции респонсев с помощью Rnd и GetNthDocument
    а последующие достаю с помощью GetNextDocument

    при этом я рискую достать тока похожие вопросы
    например 20 вопросов по алгебре и тока 10 по другим
    а мне надо в разброс

    а юзать Rnd и GetNthDocument для каждого дока
    замедляет скрипт
     
  11. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    по-мне - это заявление изначально спорно :)
    как это несортировано вообще?! Вы в жизни такое встречали (даже теоретически)?
    мы живем в мире - где всё подчиняется, как минимум, временной составляющей
    ежели хотите рэдомизацию (как указывали выше) - то так и скажите...
    кстати замечу - что рэдомизация, в ПиСи (к примеру), так или иначе зависит от времени ;)
     
  12. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    а как начет хауса
    в нем разве есть порядок
    :)
     
  13. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    хаОс есть начало порядка, философы блин.

    так тут вроде как легче зделать класом и/или типом свою коллекцию на основании существующей колл. респонсов
     
  14. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    У Хауса за порядком следит Кадди. :)
    По теме: несильно будет замедлять. Для скорости можешь перегнать вопросы в массив и дергать уже из него случайные.
     
  15. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    по-поводу алгоритма - забирайте юниды в список (инмемори) и там его рэндомно преобразуйте
    апосля, по юниду - получите док
     
  16. Murtas

    Murtas Well-Known Member

    Регистрация:
    11 апр 2006
    Сообщения:
    123
    Симпатии:
    0
    yerke, ну простейшее что приходит в голову - нужно нагенерить 30 случайных чисел из 120 - надеюсь, как сделать знаешь ... ну и доставать их соответственно через GetNthDocument
     
  17. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    ну эт понятно

    мне нужно не тока 30 респонсев так как
    некоторые из вопросов могут оказаться некорректнымы
    то есть могут не проити валидацию

    так что я заранее не знаю число итереации
    цикл длится до того как не наберется 30 корректных вопрсов

    если по предмету всего 1000 вопросов (такое вывает)
    то GetNthDocument не катит так как я ище их должен проверить на валидность
    и еще все вопросы и их ответы в ричтекстах

    lmike
    натолкнул на мысль
    1) получаю все респонсы
    2) получаю в массив все их юниды
    3) отсортирую эти юниды по убыванию (или по возрастанию не важно)
    4) и доки буду дергать по эти отсортированным юнидам

    надеюсь лотус
    при создании документа не присвает юниды по порядку :)
     
  18. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    присваивает по таймеру! - гы :)
     
  19. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    то есть

    коллекция (отсортированный по дате создания)--->
    коллекция (не сортированный по юниду)--->
    коллекция (отсортированный по юниду)--->
    коллекция (не сортированный по дате создания)
     
  20. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    lmike
    Разве не вторую часть только? Первая случайна, поэтому сортировка сработает.
     
Загрузка...
Похожие Темы - Unsort Collection
  1. magnuz
    Ответов:
    0
    Просмотров:
    910
  2. Serduko
    Ответов:
    17
    Просмотров:
    2.512
  3. beloff
    Ответов:
    37
    Просмотров:
    5.844
  4. Dragon108
    Ответов:
    6
    Просмотров:
    2.449
  5. Omh
    Ответов:
    2
    Просмотров:
    2.235

Поделиться этой страницей