TSearch

Iz SDMS
Jump to navigationJump to search

Razred Search je namenjen iskanju po bazi v smislu spletnih iskalnikov ("Full Text Search").

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)
TitleStringNaslov kategorije, ki se prikaže ob skupini zadetkov te kategorije,
NameStringIme oz. šifra kategorije, s katerim lahko omejimo iskanje samo na to kategorijo,
LayerTLayerPodatkovna plast, iz katere se črpajo podatki,
FieldsStringSeznam imen polj, ki jih uvrščamo v iskanje (ločena so z vejico),
SQLStringOpcijsko 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)
NameStringIme oz. šifra predloge,
LayerTLayerPodatkovna plast, na katero je vezana predloga,
TemplateStringPredloga, 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)
CategoryStringOpcijsko ime kategorije, za katero naj se na novo izgradi index. Če je ta parameter prazen, se na novo izgradijo vse kategorije.
 Search.BuildIndex('parc')
<source>

=== Update ===
Metoda '''UpdateIndex''' na novo izgradi samo tiste kategorije, ki so potrebne prenove.
<declaration>
Method|TSearch.UpdateIndex
</declaration>

== 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.
<declaration>
Method|TSearch.Execute
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.
</declaration>
<source class="example">
 Write(Search.Execute('laško 223/1', 'txt', '', 10))