Parametry:
doc | dokument nebo odkaz na dokument |
format | formßt dokumentu (TXT, TEXT nebo PLAIN pro Φist² text, RTF, DOC nebo HTML pro ostatnφ definovanΘ) |
mode | zp∙sob p°edßnφ dokumentu |
position | pozice v dokumentu, kolem nφ₧ se hledß kontext |
margin | poΦet slov p°ed a za position v kontextu |
decoration | znaky, kter²mi se "obalφ" slovo v pozici "position" ve v²slednΘm kontextu |
Od verze:
7.0d
Popis:
Funkce vrßtφ kontext (text okolo) v²skytu frßze vyhledanΘ pomocφ predikßtu Fulltext.
Prohledßvan² dokument lze p°edat n∞koliker²m zp∙sobem, p°iΦem₧ zp∙sob p°edßnφ popisuje parametr mode takto:
0 - dokument je obsahem parametru doc;
1 - dokument je v souboru, jeho₧ jmΘno je v parametru doc;
2 - dokument je OLE objekt (embedded nebo linked) umφst∞n² v parametru doc.
Pomocφ format lze zvolit, mß-li se indexovat Φist² text (parametr TXT, TEXT nebo PLAIN) nebo jin² formßt - v tomto p°φpad∞ se provßdφ dodateΦnß anal²za textu, je-li skuteΦn∞ dan² formßt a jakΘ verze (u DOC). Nepoda°φ-li se anal²za, funkce skonΦφ s chybou.
Pozice frßze v dokumentu je dßna systΘmovou prom∞nnou @@FULLTEXT_POSITION
, kterß je nastavena p°i ka₧dΘm vyhodnocenφ predikßtu Fultext
vracejφcφm TRUE.
Parametrem margin stanovφte, kolik slov p°ed a za nalezenou frßzφ se vrßtφ (spolu s frßzφ a znaky zadan²mi v decoration) jako v²sledek funkce.
Pomocφ decoration lze zv²raznit hledanou frßzi v kontextu. ╪et∞zcov² parametr musφ mφt nßsledujφcφ tvar znaky_p°ed%znaky_po
, kde % znaΦφ pozici hledanΘ frßze. Bude-li v²sledek funkce nap°. p°edßn browseru, lze s v²hodou pou₧φt tohoto zv²razn∞nφ: "<B>%</B>"
Hodnota funkce
Funkce vracφ kontext v²skytu frßze dΘlky 2*margin+1 slov.
P°φklady:
NalΘzt v dokumentech ulo₧en²ch v databßzi slovo Databßze a vrßtit kontexty jeho v²skytu:
SELECT Fulltext_context(doc,"TXT",0,@@FULLTEXT_POSITION,5,">>%<<")
FROM Doctab
WHERE Fulltext("",id,"Databßze")
TotΘ₧ v procedu°e pomocφ pr∙chodu kurzoru:
DECLARE pom CLOB;
FOR radek AS ftcur INSENSITIVE CURSOR FOR
SELECT id,doc,@@FULLTEXT_POSITION AS pos
FROM Doctab
WHERE Fulltext("",id,"Databßze")
DO
SET pom = Fulltext_context(radek.doc,"TXT",0,radek.pos,5,">>%<<");
CALL log_write(pom);
END FOR;
Viz