Ftsearch

Тема в разделе "Lotus - Программирование", создана пользователем dread, 24 авг 2010.

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. dread

    dread Гость

    Здравствуйте.
    Ломаю голову, наверное не хватает опыта
    и так
    есть некая бд в domino
    в бд порядка 500000 документов.
    У каждого документа есть поле PersonalWork оно типа date/time
    или пустое
    Мне необходимо агентом в ночи искать документы [PersonalWork] < date
    делаю это так
    Код (Text):
    Sub Initialize()
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim col As NotesDocumentCollection
    Dim cur_date As variant
    Dim ptp_date As Variant
    Dim docid As string
    Set db = s.CurrentDatabase
    cur_date = date
    Set col = db.Ftsearch("[PersonalWork] < " + CStr(date),0)
    Set doc = col.Getfirstdocument()
    While Not(doc Is nothing)
    ptp_date = CDat(doc.Getitemvalue("PersonalWork")(0))
    docid = doc.UniversalID
    Print "$ExportID: CurrentWeek",docid , FullTrim(CStr(doc.Getitemvalue("$ExportID")(0))),ptp_date
    Set doc = col.Getnextdocument(doc)
    Wend
    End Sub
    на выходе получаю ожидаемую картину:
    Код (Text):
    24.08.2010 12:14:40  Agent Manager: Agent printing: $ExportID: CurrentWeek   D275889248FF9466C32577370065A338        1928051      13.8.10 11:10:54
    24.08.2010 12:14:40  Agent Manager: Agent printing: $ExportID: CurrentWeek   02007A418A4F2A0CC325774B004796A3        1801172      22.8.10 8:29:03
    24.08.2010 12:14:40  Agent Manager: Agent printing: $ExportID: CurrentWeek   2781050D3BB0CFACC325774B0048D66E        1815716      18.8.10 11:56:57
    24.08.2010 12:14:40  Agent Manager: Agent printing: $ExportID: CurrentWeek   F858B9C62F8CD70FC325774B0048D1A6        1794857      19.8.10 17:04:52
    24.08.2010 12:14:40  Agent Manager: Agent printing: $ExportID: CurrentWeek   23059132701A0279C325774B00477F95        1747355      19.8.10 15:54:16
    .........
    но , если открыть документ, и посмотреть поле, получается что ptp_date явно больше сегодня.
    например у D275889248FF9466C32577370065A338

    Код (Text):
    Field Name: PersonalWork
    Data Type: Time/Date
    Data Length: 8 bytes
    Seq Num: 101
    Dup Item ID: 0
    Field Flags: SUMMARY

    01.09.2010 00:00:00 ZE3
    индексы пересоздавал, fixup делал, в чем дело не понятно
     
  2. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Зато 09.01.2010 явно меньше сегодня. Проблема, наверное, в формате даты.
     
  3. nvyush

    nvyush Well-Known Member
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Можно для данной задачи использовать служебное представление с формулой отбора вида
    SELECT [PersonalWork] < @TextToTime("@Today")
     
  4. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.256
    Симпатии:
    318
    помимо отмеченного Medevic....
    меня смущает использование FT ваще...
    почему не GetAllEntriesByKey, по диапозону дат ?
    приведение к тексту дат чревато многими граблями
     
  5. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    К тому же FTSearch без настройки вернёт только 5000 документов.
     
  6. dread

    dread Гость

    Это понятно,
    FT_MAX_SEARCH_RESULTS=30000
    буду пробывать GetAllEntriesByKey,
     
  7. alik86

    alik86 Well-Known Member
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    Можете еще попробовать:
    Set col = Db.Search( {@Date(PersonalWork) < @Today}, Nothing, 0)
     
  8. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.256
    Симпатии:
    318
    alik86
    @ToTime ! (не помешает)

    @Date не работает с текстом (что может случиться)
     
Загрузка...
Похожие Темы - Ftsearch
  1. seoman2
    Ответов:
    7
    Просмотров:
    383
  2. Amfion
    Ответов:
    10
    Просмотров:
    371
  3. seoman2
    Ответов:
    6
    Просмотров:
    652
  4. seoman2
    Ответов:
    4
    Просмотров:
    1.422
  5. Bob84
    Ответов:
    6
    Просмотров:
    2.051
Статус темы:
Закрыта.

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