14:49 

Cache. Полнотекстовый поиск.

Недавно начала работать с Cache (2009). И еще не во всем разбираюсь. Есть ли здесь люди, которые знают его?
Помогите, пожалуйста, разобраться в коде. Здесь кусочек кода полнотекстового поиска, который загружает файлы из каталога (folder) в глобал. Вопрос: как можно следать, что бы загрузка шла из другого глобала? Как это прописать в коде, или как выгрузить данные из другого глобала в этот каталог (folder)?

ftload(init,folder) ; init#2 - перезагружает словари ; init\2#2 - перезагружает документы. Т.е.:
; 0 - ничего не делает со словарями, добавит в БД документы;
; 1 - перезагрузит словари и добавит в БД документы,
; 2 - сотрет старое содержимое БД документов и добавит в БД документы
; 3 - перезагрузит словари, сотрет старое содержимое БД документов и добавит в БД документы
;
; folder - каталог, где хранятся файл словаря morphs.mrd и тексты для загрузки в ft.doc
;
; NB! ^CacheTempMorpho стирается перед прогоном всегда! (он заполняется, если #%Text.Russian.DEBUG=1)
i $g(folder)="" w !,"Каталог для загрузки словаря и/или текстов не задан" q
s:$e(folder,$l(folder))'="\" folder=folder_"\"
k ^CacheTempMorpho ;($j)
if $g(init)#2 {
s rc=##class(%Text.Russian).DropDictionary()
i rc s rc=##class(%Text.Russian).LoadDict(folder_"morphs.mrd") ;именно в таком порядке! ;AM01
i rc s rc=##class(%Text.Russian).ExcludeCommonTerms(1000)
k ^DictNew
i 'rc g fterrex
w !,"Словари загружены"
}
if $g(init)\2#2 {
s rc=##class(ft.doc).%KillExtent() i 'rc g fterrex
w !,"Хранилище документов очищено"
}
d $zu(68,40,1)
s t0=$zh,bc=0,mask=folder_"*.txt"
f s file=$zsearch(mask) s mask="" q:file="" s rc=$$ftpar(file) i 'rc u $p w !,rc q
s dt=$zh-t0 u $p w !,$g(bc)/1024," kChars; ",dt," sec; " i $g(bc)>0 w $j(bc/dt/1024,10,2)," kChars/sec"
fterrex
i 'rc { d $system.OBJ.DisplayError(rc) }
q

:ps: Если понадобиться, могу дать исходники самого модуля, там код в полном варианте.

@темы: Работа, Интернет, Вопрос, База данных, Cache

Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?

ru_programming

главная