TSearch
Razred Search je namenjen iskanju po bazi v smislu spletnih iskalnikov ("Full Text Search").
Vsebina
Določanje nastavitev
V kolikor nameravate uporabljati "Full Text Search", je potrebno najprej sistemu povedati, po katerih plasteh in poljih naj se iskanje izvaja ter v kakšni obliki naj se prikazujejo zadetki. Te nastavitve naj se dodajo v nek modul, ki se naloži ob zagonu aplikacije.
// v iskanje dodamo parcele
Search.AddCategory('Katastrske parcele', 'parc', [parcele], 'hint', '')
// določimo način prikazovanja parcel v programu
Search.AddTemplate('txt', [parcele], '[F a], [F b],[F b]')
// določimo način prikazovanja parcel na spletni strani
Search.AddTemplate('htm', [parcele], '[F a]<br>[F b]<br>[F b]')AddCategory
Metoda AddCategory doda novo kategorijo iskanja.
| Method TSearch.AddCategory (Title, Name As String, Layer As TLayer, Fields, SQL As String) | ||
| Title | String | Naslov kategorije, ki se prikaže ob skupini zadetkov te kategorije, |
| Name | String | Ime oz. šifra kategorije, s katerim lahko omejimo iskanje samo na to kategorijo, |
| Layer | TLayer | Podatkovna plast, iz katere se črpajo podatki, |
| Fields | String | Seznam imen polj, ki jih uvrščamo v iskanje (ločena so z vejico), |
| SQL | String | Opcijsko lahko navedemo še pogoj za filtriranje podatkov (če želimo uvrstiti v iskanje samo del podatkov). |
AddTemplate
Metoda AddTemplate doda novo obliko prikaza zadetkov.
| Method TSearch.AddCategory (Name As String, Layer As TLayer, Template As String) | ||
| Name | String | Ime oz. šifra predloge, |
| Layer | TLayer | Podatkovna plast, na katero je vezana predloga, |
| Template | String | Predloga, ki se uporabi za oblikovanje zadetkov, |
Izdelava indeksa
Sama nastavitev parametrov za "Full Text Search" ni dovolj, naslednji korak je izgradnja indeksa. Ta operacija je pri manjših podatkovnih plasteh skoraj trenutna, pri večjih pa lahko traja tudi nekaj minut.
BuildIndex
Metoda BuildIndex na novo izgradi indeks za eno ali vse kategorije iskanja.
| Method TSearch.BuildIndex (Category As String) | ||
| Category | String | Opcijsko ime kategorije, za katero naj se na novo izgradi index. Če je ta parameter prazen, se na novo izgradijo vse kategorije. |
Update
Metoda UpdateIndex na novo izgradi vse tiste kategorije, ki so potrebne prenove.
| Method TSearch.UpdateIndex |
Iskanje
Ko smo določili nastavitve iskanja ter izgradili indeks, se lahko lotimo samea iskanja.
Execute
Metoda Execute nam izvede iskanje po danem besedilu in vrne zadetke v željeni obliki.
| Method TSearch.Execute (Query, Template, Category As String, Hits As Long) As String | ||
| Query | String | Ključne besede, ki jih iščemo. V seznamu zadetkov bodo le tisti zapisi, ki vsebujejo vse podane besede. |
| Template | String | Ime predloge, ki naj se uporabi za oblikovanje zadetkov, |
| Category | String | Opcijsko ime kategorije, na katero želimo omejiti iskanje, |
| Hits | Long | Največje število zadetkov po kategoriji. Če je ta parameter 0, se izpišejo vsi zadetki, kar pa ni priporočljivo, ker jih je lahko zelo veliko. |
| Result | String | Seznam zadetkov v želeni obliki. |
<source class="example"> Search.AddCategory('Parcele', 'parc', RL, 'hint')
Search.AddTemplate('txt', 'parc', 'html', '[F a], [F b],[F b]')
Search.AddTemplate('web', 'parc', 'html', '[F a]
[F b]
[F b]')
Search.AddTemplate('mob', 'parc', 'html', '[F a]
[F b]
[F b]')
Search.Rebuild(Category As String) Search.Update
Search.Execute (Query, Category, Template As String, Hits As Long) <source>