Pikahakujen määrittely
Mikä on pikahaku?
X-Archive käsittelee metatietoja sisäisesti avain-arvopareina. Jotta niihin voidaan kohdistaa hakuja, ne täytyy koota erillisiin hakumääritelmiin, joita kutsutaan pikahauiksi. Hakumääritelmän avulla luodaan hakurakenne, johon kopioidaan metatietoja helposti haettavaan muotoon. Hakurakenne voi olla joko tietokantataulu (sisäinen pikahaku) tai ElasticSearch indeksi (elastic pikahaku). Pikahaut skaalautuvat hyvin eri tarkoituksiin, koska niihin kohdistuvat haut ovat yksinkertaisia SELECT <kentät> FROM <taulu> WHERE <ehdot> -tyyppisiä kyselyitä. Kaikki X-Archiven metatieto-operaatiot päätyvät automaattisesti pikahakurakenteisiin. Haku hakurakenteista tehdään QUICKSEARCH-protokollan kautta. Pikahaut täytyy suunnitella ja määritellä etukäteen, koska niiden tehokas käyttö edellyttää tietoa siitä, mitä haetaan ja millä ehdoilla. Pikahaut hallitaan hallinnointikäyttöliittymästä.
X-Archive sallii rajattoman määrän pikahakumääritelmiä. Niistä jokainen vastaa jotakin tiettyä osajoukkoa järjestelmään määritellystä metatietomallista. Nämä osajoukot voivat myös olla päällekkäisiä: sama metatieto voi esiintyä useammassa kuin yhdessä pikahaussa. Yhteen pikahakuun voidaan myös liittää metatietoja useammasta metatietomallista. Sovelluksissa, joissa tapahtuu paljon kirjoitus- ja vähän lukuoperaatioita on syytä pitää pikahakujen määrä mahdollisimman alhaisena, koska niiden päivittäminen kuormittaa kirjoitusoperaatioita. Päinvastaisessa tilanteessa optimoitujen pikahakujen määritteleminen voi olla perusteltua.
X-Archive vaatii toimiakseen muutaman pakollisen pikahaun. Administraattori luo nämä pikahaut X-Archive asennuksen yhteydessä. X-Archiven normaali käyttö ei edellytä uusien pikahakujen laatimista. Integraatiot, joissa ulkoinen järjestelmä tekee hakuja X-Archiven asiakirjoihin saattaa sellaista tarvita.
Pikahakujen lisääminen hidastuttaa kirjoitusoperaatioita arkistossa, koska päivitetyt metatiedot täytyy päivittää kaikkiin vastaaviin pikahakukenttiin. Näin ollen päällekkäisten pikahakujen määrä tulee pitää mahdollisimman pienenä, erityisesti jos järjestelmässä on paljon kirjoitusoperaatioita.
On suositeltavaa uudelleenkäyttää pikahakuja eri tarkoituksiin. Erilliset pikahaut ovat tarpeellisia, jos hakutapaukset eroavat suuresti hakukriteerien tai indeksien osalta, tai jos syystä taikka toisesta pikahakutaulun kenttien määrää täytyy rajoittaa. Kenttien maksimimäärä riippuu tietokannasta, ja on tyypillisesti yli 1000 kenttää.
Pikahakutyypit
Sisäiset pikahaut
Sisäiset pikahaut ovat arkiston tietokantaan tallennettuja pikahakuja. Sisäiset pikahaut päivittyvät reaaliaikaisesti metatietopäivitysten yhteydessä ja niistä voidaan suorittaa hakuja mapatuista metatietokentistä.
Pakolliset sisäiset pikahaut:
tunnus | mihin käyttöön | MDM | Pakolliset MDM mappaukset | muokkaamistarve |
---|---|---|---|---|
xq_record_search | arkiston sisäiset haut sekä käyttäjien haut | standard | Kaikki muut asiakirjoille käytetyt metatietomallit |
|
xq_classtree_search | Vain sisäiseen käyttöön | classtree | ei mappauksia |
|
xq_rs_search | Vain sisäiseen käyttöön | records-schedule | ei mappauksia |
|
Elastic pikahaut
Elastic pikahaut tallentuvat ElasticSearch indeksiin. Ne sallivat metatietohakujen lisäksi kokotekstihaut asiakirjasisällöstä sekä metatiedoista (hakuun liitetyt tekstityyppiset metatiedot), sekä haut toistuvista metatiedoista. Elastic pikahaut päivittyvät pienellä viiveellä, eli ne eivät ole täysin reaaliaikaisia.
Elastic pikahaku voi joko sisältää sekä asiakirjasisältö (payload) että metatiedot tai sisältää vain metatietoja. Hausta joka sisältää asiakirjasisällön voidaan tehdä yhdistettyjä metatieto- ja asiakirjasisältöhakuja. Jos pikahaku ei sisällä asiakirjasisältöä haut voidaan kohdistaa joko asiakirjasisältöön tai metatietoihin. Tällöin asiakirjasisällön haussa käytetään archive_payload_search
pikahakua.
Asiakirjasisällön indeksointi tarkoittaa että asiakirjasisältö kokonaisuudessaan tallentuu ElasticSearch indeksiin. Jos asiakirjasisältö sisältyy moneen pikahakuun, tarkoittaa se moninkertaisen tallennustilatarpeen. Tämän takia suosittelemme että asiakirjasisältö indeksoidaan ainoastaan archive_payload_search
pikahaussa.
Elastic pikahauille määritellään myös kieli jota käytetään asiakirjojen ja metatietojen indeksoinnissa. Yleisin ja yksinkertaisin on valinta "any" joka ei ota kantaa sisällön kieleen, vaan analysoi sanat yksinkertaisina merkkijonoina. Muut vaihtoehdot Suomi, Ruotsi ja Englanti tekevät tarkempia kielellisiä analyysejä, mutta olettavat että kaikki sisällöt ovat kyseisellä kielellä. "All" tarkoittaa että sisältö analysoidaan kaikilla kielillä. Tämä vaihtoehto on valittavatana ainoastaan archive_payload_search
pikahaulle.
Pikahaun kieliasetusta tai asiakirjasisällön indeksointia ei voida muuttaa jälkikäteen.
Elastic pikahakuihin voi liittää myös toistuvia kenttiä sekä kenttiä ns. toistuvista rakenteista (kentät jolle on määritelty maxOccurs >0 metadataskeemassa).
Pakolliset elastic pikahaut:
tunnus | mihin käyttöön | Kieli | MDM | Pakolliset MDM mappaukset | Muokkaamistarve | Muuta |
---|---|---|---|---|---|---|
archive_payload_search | Asiakirjasisällön kokotekstihakuun. Käytetään kokotekstiindeksinä niille elastic pikahakuille jotka eivät sisällä asiakirjasisältöä |
|
Standard | Kaikki muut asiakirjoille käytetyt metatietomallit |
|
|
Pikahaun liittäminen useampaan metatietomalliin
Sekä sisäiset että elastic pikahaut voidaan liittää moneen metatietomalliin, mahdollistaen haun useammasta metatietomallista kerrallaan. Sama hakukenttä voi olla mapattu eri metatietoavaimiin eri metatietomalleissa. Näin ollen esimerkiksi yhden metatietomallin metatietoavain "id" voidaan halutessa mapata pikahakurakenteen kenttään "hetu" johon on ennestään mapattu toisen metatietomallin metatietoavain "socialSecurityNumber". "hetu" kentästä hakiessa haku kohdistuu nyt molempiin mapattuun metatietoavaimeen.
Metatietomallien mappaukset tehdään pikahakujen hallinnointityökalussa.
Pikahakujen hallinnointi hallinnointityökalussa
Pikahakuja muokataan pikahakujen hallinointityökalulla. Hallinnointityökalulla voi luoda uusia ja muokata olemassaolevia pikahakuja, uudelleenpopuloida nitä, sekä poistaa niitä. Voi myös luoda pikahakuja pikahakumallien avulla tai tallentaa olemassaolevat pikahakumäärittelyt malleiksi.
Pikahakujen hallinointityökalu löytyy X-Archiven hallinnointityökaluista Pikahaut-välilehdeltä. Välilehdessä näkyy kaksi taulukkoa. Vasemmanpuoleinen näyttää pikahakuun valitut kentät ja oikeanpuoleinen näyttää käytettävissä olevat metatietokentät valitussa metatietomallissa.
Kenttien lisääminen pikahakuihin ei aiheuta ongelmia. Niiden poistaminen aiheuttaa ongelmia, mikäli ne on otettu käyttöön hakumääritelmissä (ks. yllä).
Pikahaun populointi voi olla raskas operaatio, riippuen asiakirjojen määrästä. Se myös estää kirjoitusoperaatioiden suorittamisen arkistossa. Pikahaun populointi on siis syytä ajoittaa siten, että se ei kuormita järjestelmää silloin, kun se on raskaassa käytössä.
Pikahaun luonti
Pikahaun luonti vaatii seuraavat valmistelut:
- Määrittele metatietomalli jota haettavet asiakirjat edustavat
- Kuvaile metatietoihin kohdistuvat haut käyttötapauksina.
- Laadi käyttötapaukset toteuttavat hakurakenteet. Lopputuloksena tulee olla tietokantatauluksi soveltuva rakenne, jossa on määritelty kenttien nimet, tietotyypit, indeksit sekä mikä schema-metatieto yhdistetään mihinkin kenttään.
- Luo pikahaut suunnitelman mukaisesti pikahakujen hallinnointikäyttöliittymässä.
Hallinnointikäyttöliittymässä pikahaku voidaan luoda tyhjästä tai pikahakumallin pohjalta. Aloita luonti valitsemalla Uusi.
- Pikahaun luonti tyhjästä
- Anna nimi pikahaulle
- Valitse pikahakutyyppi sisäinen/elastic
- Jos elastic on valittu:
- Valitse sisältääkö pikahaku asiakirjasisällön. Asiakirjasisällön sisällyttäminen vaatii enemmän levytilaa, mutta sallii yhdistetyn haun sisällöstä ja metatiedoista.
- Valitse kieli
- Valitse pohjaksi metatietomalli pikahaulle
- Valitse liitettävät kentät oikeanpuoleisesta taulukosta. Jos haluat, että kenttä indeksoidaan tietokannassa nopeampaa hakua varten, valitse Indeksoi vasemmanpuoleisessa taulukossa. Voit myös muokata kentän nimeä.
- Valitse halutut ehdot pikahaun populoimista varten.
- Tallenna
- Tallennettaessa pikahakumäärittelyt tallennetaan, pikahakutaulu luodaan, ja jos pyydetty, asetetaan populoinnin aika.
- Pikahaun luonti pikahakumallin pohjalta
- Luodaksesi pikahaku pikahakumallin pohjalta, valitse haluttu pikahakumalli ja anna nimi uudelle pikahaulle. Voit muokata pikahakua ennen tallentamista, mutta luontivaiheessa voit kohdistaa muutokset vain pohjana käytetyn metatietomallin mukaisiin kenttiin.
- Valitse halutut ehdot pikahaun populoimista varten.
- Tallenna.
Pikahaun muokkaaminen
- Voit lisätä kenttiä pikahakuun merkitsemällä kenttä valituksi oikeanpuoleisessa taulukossa. </> näyttää kyseisen metatietokentän koko X-Path:in, eli kentän avaimen. Päivitä tarvittaessa kentän nimi vasemmanpuoleisessa taulukossa. Tallenna ja populoi.
- Elastic tyyppisissä pikahauissa on mahdollista indeksoida myös toistuvia kenttiä ja yksinkertaisia toistuvia rakenteita (xsd-skemassa maxOccurs > 0).
- Voit myös liittää kenttiä toisesta metatietomallista pikahakuun
- Valitse haluttu metatietomalli
- Valitse halutut kentät kuten kuvattu yllä.
- Samannimiset kentät yhdistyvät samaan sarakkeeseen tietokantataulussa ja niitä voidaan hakea samalla haulla.
- Tallenna ja populoi.
- Voit poistaa kenttiä pikahausta painamalla miinusmerkkiä kentän vieressä vasemmanpuoleisessa taulukossa tai merkitsemällä kenttä ei valituksi oikeanpuoleisessa taulukossa. Tallenna ja populoi. Huomaa että kentän poistaminen saattaa rikkoa olemassaolevia asiakirjahakumääritelmiä.
- Voit luoda tai poistaa indeksejä valitsemalla tai merkitsemällä kenttä ei valituksi Indeksoi kentässä ja tallentamalla haun.
- Indeksin päivityksen jälkeen ei tarvitse uudelleenpopuloida taulua.
- Indeksin luonti tässä kohdassa tarkoittaa että kyseiselle sarakkeelle tietokannassa luodaan indeksi haun nopeuttamista varten. Elastic pikahauissa tätä ei tehdä.
Olemassaolevaa kentää ei voi uudelleennimetä. Voit vaihtaa kentän nimen poistamalla ja lisäämällä kentän uudestaan. Tämä operaatio vaatii uudelleenpopuloinnin.
Pikahaun poisto
- Valitse pikahaku, jonka haluat poistaa
- Valitse Poista pikahaku
- Anna pyydetty turvanumero ja Jatka.
Pikahaun poisto poistaa pikahakumäärittelyn sekä pikahakurakenteen. Master-kopio metatiedoista säilyy kuitenkin tietokannassa.
Pikahaun populointi
Jotta pikahakutaulua voidaan käyttä QUICKSEARCH-hakuihin, siihen pitää populoida tarvittavat metatiedot metatietojen master-kopiosta. Dynaamista populointia käytetään kun hakurakenne on muuttunut. Arkisto päivittää pikahakutaulut automaattisesti päivittäisten arkisto-operaatioiden, kuten asiakirjojen tallennuksen, poiston ja metatietomuutosten yhteydessä.
- Käynnistääksesi dynaamisen populoinnin, valitse sopiva ajankohta populoinnille ja tallenna pikahaku. "Populoi 0 tunnin kuluttua" käynnistää populoinnin heti.
- Keskeyttääksesi käynnissä oleva populointi, valitse pikahaku, metkitse populointi ei valituksi ja tallenna.
- Voit seurata populoinnin tilaa Populoinnin tilatiedot -välilehdellä.
Pikahakujen populointi estää muut päivitykset arkistossa. Populoitavana olevaan pikahakuun kohdistetut QUICKSEARCH-pyynnöt palauttavat tulosten lisäksi tila-koodin 230 (STATUS_CODE_POPULATION_IN_PROGRESS_DATA_MAY_BE_INCOMPLETE). Tämä tila-koodi palautetaan myös jos pikahaun edellinen populointi päättyi keskeytykseen.
Pikahaun populointi voi olla raskas operaatio, riippuen asiakirjojen määrästä. Se myös estää kirjoitusoperaatioiden suorittamisen arkistossa. Pikahaun populointi on siis syytä ajoittaa siten, että se ei kuormita järjestelmää silloin, kun se on raskaassa käytössä.
Pikahakumallien hallinnointi
Pikahakurakenteet voidaan tallentaa malliksi uusien pikahakujen pohjaksi. X-Archive-asennus sisältää kolme sisäistä pikahakumallia pakollisia pikahakuja varten. Lisäksi käyttäjä voi luoda mukautettuja malleja. Mallit luodaan Pikahaut-välilehdellä valitsemalla Tallenna malliksi.
Pikahakumallit hallinnoidaan Hallinnoi pikahakumalleja -välilehdellä.
- Mukautetut pikahakumallit voidaan ladata työasemalle tai liittää työasemalta. Niitä voi myös poistaa.
- Oletusmalleja voi ainoastaan ladata työasemalle. Niitä ei voi muokata tai poistaa.
Jos pikahakumallissa oleva kenttä puuttuu metatietomallista niin kyseinen kenttä jää hakurakenteessa aina tyhjäksi. Varmista siis pikahakumallia käyttäessä että omaan metatietomalliin ei ole tullut muutoksia jotka rikkoisivat mappaukset.
Populointiprosessin seuraaminen
Populointiprosessia voi seurata Populoinnin tilatiedot -välilehdellä. Työkalu näyttää populoinnin käynnistysajan sekä prosessin tilan. Lisäksi voidaan hakea tarkempaa tietoa meneillään olevasta populoinnista. Populoinnin edistyminen esitetään prosenteissa. Edistymisen laskeminen voi olla hidasta, joten laskenta suoritetaan vain pyynnöstä "Hae tarkempi tila."
Hakutauluun populoidaan tiedot metatietomalleittain. Jos pikahakuun on liitetty monta metatietomallia, populoinnin edistyminen kuvaa kyseisellä hetkellä populoitavan metatietomallin populointiprosessia. Arvo nollaantuu metatietomallien välillä. Toisin sanoen, näytetty prosenttiluku pitää tulkita "Tällä hetkellä populoitavan metatitetomallin populoinnin edistyminen".