fbpx

Azure Cognitive Search

Hyvin useasti sisällön hakemista varten sovelluksiin kehitetään yksinkertaisia hakutoiminnallisuuksia, jolloin hakutoiminnallisuudet ovat toteutettu tietystä näkökulmasta ja voivat olla suhteellisen rajallisia. Azure Cognitive Search, aikaisemmin nimellä Azure Search tunnettu palvelu tarjoaa etenkin Azure-ympäristössä kehitettäviä sovelluksia varten hakumoottorin sisällön hakemista varten. Sen avulla voidaan helposti toteuttaa monipuolisia hakuominaisuuksia sekä Azuressa, että yksityisessä ympäristössä olevaan sisältöön. Hakumoottori mahdollistaa helposti monipuolisen datan indeksoinnin ja hakuominaisuuksien käyttämisen yksinkertaisella syntaksilla. 

Tekstin analysointi

  • Tekstin prosessointi indeksoinnin ja kyselyn suorituksen aikana
  • Hakusanojen suodattaminen ja paloittelu
  • Lauseiden jäsentely hakusanoiksi

Tekoäly ominaisuudet

  • Sisällön kääntäminen eri kielille ja kielen tunnistus
  • Ihmisten, paikkojen ja muiden sisältöjen tunnistaminen raakatekstistä
  • Avainsanojen tunnistaminen
  • Tekstin tunnistaminen binäärisisällöstä
  • Kuvien tunnistaminen hakusanoiksi

Azure Cognitive Search resurssin luominen

Hakumoottorin käyttöönottaminen aloitetaan luomalla uusi Azure Cognitive Search resurssi haluttuun resurssiryhmään. Käyttöönottaminen vaatii olemassa olevan Azure tilauksen. Resurssin luomisen jälkeen hakumoottori on käytettävissä REST API–rajapinnan kautta osoitteessa, joka on muodossa https://[hakupalvelu].search.windows.net, jossa [hakupalvelu] on resurssille annettu nimi. Rajapinnan käyttämistä varten tarvittava API-avain löytyy luodun resurssin kohdasta Keys”. 

Sisällön tuominen

Sisällön tuominen aloitetaan Import data–toiminnolla. Sisältöä voidaan tuoda Azuressa tai yksityisessä ympäristössä sijaitsevasta sisällöstä. Sisältöä on mahdollista tuoda myös muualta esimerkiksi Azure Data Factoryn avulla. Määritykset sisällön tuomiseksi on myös mahdollista tehdä ohjelmallisesti. 

Alla olevassa esimerkissä sisältöä tuodaan Azure SQL tietokannasta Import Data –toiminnon kautta. Tietokannasta määritetään tuotavaksi ”Hotels” nimisessä taulussa oleva sisältö. Lisäksi yhteydelle määritetään nimi, sekä tarvittavat autentikointitiedot yhteyden luomiseen.  

Indeksointi ja haettavan sisällön määrittäminen

Tuotuun sisältöön määritetään indeksointi, jota käytetään hakujen tekemiseen. Azure Cognitive Search muodostaa haut sisältöön määritettyjen indeksointien mukaisesti. Indeksointiin määritetään tuotavalle sisällölle tyypitys alla olevan listauksen mukaisesti. 

Retrievable 

  • Sisältö näkyy hakutuloksessa

Key

  • Uniikki arvo, joka identifioi sisällön

Filterable

  • Arvoa voidaan käyttää hakutuloksen suodattamisessa

Sortable

  • Arvoa voidaan käyttää hakutuloksen järjestämisessä

Facetable

  • Arvoa voidaan käyttää hakutuloksen ryhmittelyyn

Searchable

  • Arvo otetaan mukaan sisältöön, johon haku suoritetaan

Alla esimerkki, jolla uusi hakuindeksi luodaan Azure Portalin kautta Azure SQL tietokannasta tuotavaan sisältöön. Indeksointeja on mahdollista myös määrittää eri ohjelmointikielille saatavilla olevien kirjastojen kautta. Indeksiin on määritetty tuotavan sisällön arvoille erilaisia tyypityksiä sen mukaan mihin sisältöön haku halutaan kohdistaa ja mitä arvoja halutaan sisällyttää hakutulokseen.  

Hakumoottorin käyttäminen

Azure Cognitive Search–hakumoottoria voidaan käyttää eri ohjelmointikielillä REST API–rajapinnan kautta. REST API–rajapinnan käyttäminen vaatii API–avaimen sisällyttämisen kutsuihin.  

Eri ohjelmointikielille on saatavilla kirjastot (SDK) hakurajapinnan käyttämistä varten. REST API–rajapinnan kautta voidaan määrittää hakuehdot ja suodatus haulle. Hakuehdot lisätään endpoint-osoitteen perään. Käytettäessä kirjastoa hakurajapinnan käyttöön, osoite hakuehtoineen muodostetaan automaattisesti.  

Alla esimerkki hakumoottorin käyttämisestä Azure Portalin kautta, jossa on näkyvissä annetut hakuehdot kohdassa ”Query string”, sekä hakuun käytetty osoite kokonaisuudessaan kohdassa ”Request URL”. Annetuilla hakuehdoilla palautuu kaksi hakutulosta. 

Hakuominaisuuksien hyödyntäminen

Azure Cognitive Search mahdollistaa sisällön tuomisen helposti eri lähteistä, sekä hakuindeksien määrittämisen. Hakuja voidaan tehdä monipuolisesti REST API–rajapinnan kautta ja integroida haku osaksi esimerkiksi Azure ympäristöön rakennettuun järjestelmään. Hakumoottori mahdollistaa myös tekoälyominaisuuksien hyödyntämisen erilaisista sisällöistä hakemiseen joiden toteuttaminen muutoin olisi työlästä. 

Tämän tekstin kirjoitti konsulttimme Mikko Sallinen.

Kiinnostuitko?

Ota yhteyttä, jos tarvitset apua hakutoiminnallisuuksien kanssa Azure-ympäristössä tai olet kiinnostunut muista palveluistamme. Autamme sinua mielellämme.

Seuraa meitä somessa:

Tutustu myös näihin: