FTSearch

Автор Тема: FTSearch  (Прочитано 14458 раз)

CL1F

  • Участник
  • **
  • Сообщений: 47
  • GODMODE
    • Просмотр профиля
FTSearch
« : 09 Июль 2012, 12:07:39 »
Делаю простую выборку

   query = { ([FORM] CONTAINS "Document") AND [CREATED] >= (01.06.2012) AND [CREATED] < (16.07.2012) }
   Set col = db.FTSearch( query, 0, FT_DATECREATED_ASC )
   If col.Count =0 Then
      Print "Поиск не дал результатов!"
   End If
   Set doc = col.GetFirstDocument
   While Not(doc Is Nothing)
      ' Вывод документов которые есть в коллекции
      Print doc.UniversalID & " ( " & doc.Form(0) & " ) " & doc.CREATED & "<br>"
     
      Set doc = col.GetNextDocument(doc)
   Wend   

выводит не полный результат  ...  ниже приведен результат
--------------------------------------------------------------------------------
Выбока по ДДО более 01.06.2012
--------------------------------------------------------------------------------
 5AE9E4F996327C5846257A1000231BA2 ( Document ) 01.06.2012 12:23:28
7633DA20AF1B0D0046257A25001941BB ( Document ) 22.06.2012 10:35:52
56F5E1D7CC5C982246257A2500194949 ( Document ) 22.06.2012 10:36:11
DE924A19E9AB5ECE46257A250019512C ( Document ) 22.06.2012 10:36:31
11CEE8E64A75620D46257A2500196126 ( Document ) 22.06.2012 10:37:12
D5D90B094BE233D446257A2500198045 ( Document ) 22.06.2012 10:38:32
63D27A7EBF7E1F9D46257A2500198779 ( Document ) 22.06.2012 10:38:50
21972F584B45D51F46257A30000F76CE ( Document ) 03.07.2012 8:48:54
3E6EAFFE478F34A946257A30000FCF94 ( Document ) 03.07.2012 8:52:41
3E03B6A004E5254646257A300010124F ( Document ) 03.07.2012 8:55:32
E351BA6650F223D546257A300018B73B ( Document ) 03.07.2012 10:29:57

--------------------------------------------------------------------------------
Выбока по ДДО всех доков
--------------------------------------------------------------------------------
E549F675B1F67B73462579FF002979D9 ( Document ) 15.05.2012 13:33:01
CD62D290F69738CB462579FF00297BB0 ( Document ) 15.05.2012 13:33:06
977BFCBF287EECEC462579FF002C1807 ( Document ) 15.05.2012 14:01:37
3E0A2D835133B5A4462579FF002FB313 ( Document ) 15.05.2012 14:41:00
76BBF0F0CBE82145462579FF002FFC7D ( Document ) 15.05.2012 14:44:08
8D78088547089CA846257A02002DFC33 ( Document ) 18.05.2012 14:22:16
255A1F0DB7D0CED446257A02002EB71F ( Document ) 18.05.2012 14:30:15
E2F46842AA65677446257A020030C216 ( Document ) 18.05.2012 14:52:34
2E57AE2463B86EA346257A050016C11D ( Document ) 21.05.2012 10:08:32

5AE9E4F996327C5846257A1000231BA2 ( Document ) 01.06.2012 12:23:28
7633DA20AF1B0D0046257A25001941BB ( Document ) 22.06.2012 10:35:52
56F5E1D7CC5C982246257A2500194949 ( Document ) 22.06.2012 10:36:11
DE924A19E9AB5ECE46257A250019512C ( Document ) 22.06.2012 10:36:31
11CEE8E64A75620D46257A2500196126 ( Document ) 22.06.2012 10:37:12
D5D90B094BE233D446257A2500198045 ( Document ) 22.06.2012 10:38:32
63D27A7EBF7E1F9D46257A2500198779 ( Document ) 22.06.2012 10:38:50
21972F584B45D51F46257A30000F76CE ( Document ) 03.07.2012 8:48:54
3E6EAFFE478F34A946257A30000FCF94 ( Document ) 03.07.2012 8:52:41
3E03B6A004E5254646257A300010124F ( Document ) 03.07.2012 8:55:32
E351BA6650F223D546257A300018B73B ( Document ) 03.07.2012 10:29:57

6C3085D1005963F546257A3000368B44 ( Document ) 03.07.2012 15:55:45
8991250BB2205BA346257A300036C7B1 ( Document ) 03.07.2012 15:58:20
89E3F081A42C020846257A3000383AC4 ( Document ) 03.07.2012 16:14:10
A124B094382AB48446257A3000385FD8 ( Document ) 03.07.2012 16:15:45
84CAB0121941EE7B46257A30003A274B ( Document ) 03.07.2012 16:35:11
3202E68D0849FC3746257A30003AD3EF ( Document ) 03.07.2012 16:42:33
B8396AAF23A1C9D646257A30003B4E15 ( Document ) 03.07.2012 16:47:46
9135FBF96D7E94BC46257A30003BD6EE ( Document ) 03.07.2012 16:53:36
C45A1C59FD2F3C0046257A31000F5880 ( Document ) 04.07.2012 8:47:36
6FCEF8405473F28C46257A31000FBA04 ( Document ) 04.07.2012 8:51:46
BE929BC1A5581B1646257A31000FC1FD ( Document ) 04.07.2012 8:52:07
CC45D5716C4244CA46257A31002C5196 ( Document ) 04.07.2012 14:04:04
5CEE3671BA46BBAE46257A32002F264B ( Document ) 05.07.2012 14:34:59
46D89B05B7C18ABD46257A32002F2CD5 ( Document ) 05.07.2012 14:35:16
B559079C91A5384846257A32002FF7D4 ( Document ) 05.07.2012 14:43:56
C688E28743C2EB4546257A32002FFFFD ( Document ) 05.07.2012 14:44:17
7C031C148015131946257A3200302A1A ( Document ) 05.07.2012 14:46:05
E38874BE3A6B42C046257A3200306FC9 ( Document ) 05.07.2012 14:49:03
EF8B3130F9C7909746257A33001DD2AA ( Document ) 06.07.2012 11:25:44
275332B1AD361D9C46257A33001DD939 ( Document ) 06.07.2012 11:26:01
CAEFA439C4AE1F0146257A33001DDCC1 ( Document ) 06.07.2012 11:26:10
71D0D1AAEDA0EEA746257A33001DE462 ( Document ) 06.07.2012 11:26:30

в группу выделил те доки которые попадают в выборку все доки делались селектом
Цитировать
query = { ([FORM] CONTAINS "Document")  }
проверял с вьюшкой все тип топ  ...

в чем может быть проблема
Пишу на Лотусе ... Выжигателем ...

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
FTSearch
« Ответ #1 : 09 Июль 2012, 12:33:26 »
Полнотекстовый индекс для базы построен?

CL1F

  • Участник
  • **
  • Сообщений: 47
  • GODMODE
    • Просмотр профиля
FTSearch
« Ответ #2 : 09 Июль 2012, 13:04:46 »
использую довольно стандартное решение

Print db.LastModified & " изменение БД <br>"
Print db.LastFTIndexed & " индексирование БД <br>"

If db.LastModified > db.LastFTIndexed Then
options& = FTINDEX_ALL_BREAKS + FTINDEX_CASE_SENSITIVE
Call db.CreateFTIndex(options&, True)
End If

09.07.2012 15:03:51 изменение БД
09.07.2012 15:03:51 индексирование БД
Пишу на Лотусе ... Выжигателем ...

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
FTSearch
« Ответ #3 : 09 Июль 2012, 13:14:49 »
Для этого метода есть ограничение:
This method works only for local databases

К тому же если база большая, то это довольно жесткий метод.  В вашем случае индекс сначала убивается, потом строится заново, что довольно ресурсо- и время-емкое мероприятие.
Лучше в свойствах базы создать индекс с почасовым обновлением.

CL1F

  • Участник
  • **
  • Сообщений: 47
  • GODMODE
    • Просмотр профиля
FTSearch
« Ответ #4 : 09 Июль 2012, 13:19:25 »
на текущий момент документов в базе 300- ... не думаю что это много ... но все ровно почему то не работает (
Пишу на Лотусе ... Выжигателем ...

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
FTSearch
« Ответ #5 : 09 Июль 2012, 14:51:05 »
Если работа происходит с базой на сервере, то судя по хелпу метод создания индекса в этом случае не работает.
Есть еще проблема с параметрами этого метода:
http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21172696

Если вручную создать индекс и убрать его создание из скрипта, выборка так же неправильная будет?

CL1F

  • Участник
  • **
  • Сообщений: 47
  • GODMODE
    • Просмотр профиля
FTSearch
« Ответ #6 : 10 Июль 2012, 06:39:01 »
увы да ... пробовал по разному  ...
на текущий момент реализация плохая  ...
в цикле (диапазон между датами) составляю запрос на выходе имею

query = { ([FORM] = "Document") AND ( [DocDate]  = (01.07.2012)  OR [DocDate]  = (02.07.2012)  OR [DocDate]  = (03.07.2012)  OR [DocDate]  = (04.07.2012)  OR [DocDate]  = (05.07.2012)  OR [DocDate]  = (06.07.2012)  OR [DocDate]  = (07.07.2012) ) }
есть опасение что ВРЕМЕННОЕ решение станет постоянным
Пишу на Лотусе ... Выжигателем ...

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
FTSearch
« Ответ #7 : 10 Июль 2012, 12:56:25 »
Какие типы у полей DocDate и Created в этих документах, если смотреть по свойствам документа в клиенте Lotus Notes?

CL1F

  • Участник
  • **
  • Сообщений: 47
  • GODMODE
    • Просмотр профиля
FTSearch
« Ответ #8 : 10 Июль 2012, 13:55:25 »
DocDate - Text
Created - Time/Date
Пишу на Лотусе ... Выжигателем ...

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
FTSearch
« Ответ #9 : 10 Июль 2012, 15:39:02 »
А так?
query = { ([FORM] CONTAINS "Document") AND [_CreationDate]>=01.06.2012 AND [_CreationDate]<16.07.2012 }

CL1F

  • Участник
  • **
  • Сообщений: 47
  • GODMODE
    • Просмотр профиля
FTSearch
« Ответ #10 : 11 Июль 2012, 06:13:29 »
работает ... спс
Пишу на Лотусе ... Выжигателем ...