Hybridihaku ja miten Elasticsearch sen mahdollistaa
Huhtala, Halti (2024)
Huhtala, Halti
2024
Tietojenkäsittelytieteiden kandidaattiohjelma - Bachelor's Programme in Computer Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-04-25
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202404234218
https://urn.fi/URN:NBN:fi:tuni-202404234218
Tiivistelmä
Perinteinen avainsanahaku on saanut rinnalleen semanttisen haun. Avainsanahaku selviytyy hyvin tilanteista, joissa hakijalla on valmiiksi käsitys siitä, mitä on hakemassa ja osaa käyttää useita eri hakusanoja täydentääkseen ja rajatakseen hakujansa. Semanttinen haku on taas hyvä löytämään asioita, joita hakija tarkoittaa sen lisäksi, mitä hakija on osannut haukseen kirjoittaa. Tämän se suorittaa muuntamalla kielimallin avulla dokumentin moniulotteiseksi, numeeriseksi vektoriksi ja vertailemalla sitä hakulauseen kanssa. Semanttinen haku tosin saattaa yksistään palauttaa jopa liian abstraktilla tasolla haun kanssa yhteneviä osumia käyttäjän tarkasti harkitsemille, hyvin rajatuille hakulauseille.
Hybridihaku yhdistää perinteisen avainsanahaun ja tuoreemman semanttisen haun ajaen yhtä aikaa molemmat samaan dokumenttikokoelmaan käyttäen samaa hakulauseketta. Molempien hakujen tulosjoukoista kootaan yksi yhteinen hakutulosjoukko käyttäen toteuttajan valitsemaa yhdistämisfunktiota. Tällä pyritään siihen, että käyttäjä saisi mahdollisimman hyvin hakuaan ja tarpeitaan vastaavia hakutuloksia.
Tutkimuksessani selvitin, mitä hyvän avainsanahaun ja semanttisen haun toteuttaminen vaatii. Kävin lähteiden avulla läpi, mitä tekstin esittäminen vektoreina oikeastaan tarkoittaa sekä prosessin, jota tekstin muuttaminen haettaviksi vektoreiksi vaatii. Tutkin myös, mitä erilaisia vaihtoehtoja hybridihaun toteuttamiseen on ja erityisesti, miten se mahdollistetaan Elasticsearchilla.
Elasticsearch on yksi käytetyimmistä haku- ja analytiikkamoottoreista. Elasticsearch on jo pitkään suoriutunut erinomaisesti avainsanahausta ja viime vuosina sinne on kehitetty semanttisen haun menetelmiä. Vuonna 2023 Elasticsearchiin julkaistiin ensimmäinen varsinainen hybridihakuominaisuus, jota kehitetään edelleen aktiivisesti. Se tarjoaa keinoja hybridihaun toteuttamiseen yhdellä kutsulla ilman, että ohjelmoijan tarvitsee itse luoda monimutkaisia yhdistämisfunktioita.
Hybridihaku yhdistää perinteisen avainsanahaun ja tuoreemman semanttisen haun ajaen yhtä aikaa molemmat samaan dokumenttikokoelmaan käyttäen samaa hakulauseketta. Molempien hakujen tulosjoukoista kootaan yksi yhteinen hakutulosjoukko käyttäen toteuttajan valitsemaa yhdistämisfunktiota. Tällä pyritään siihen, että käyttäjä saisi mahdollisimman hyvin hakuaan ja tarpeitaan vastaavia hakutuloksia.
Tutkimuksessani selvitin, mitä hyvän avainsanahaun ja semanttisen haun toteuttaminen vaatii. Kävin lähteiden avulla läpi, mitä tekstin esittäminen vektoreina oikeastaan tarkoittaa sekä prosessin, jota tekstin muuttaminen haettaviksi vektoreiksi vaatii. Tutkin myös, mitä erilaisia vaihtoehtoja hybridihaun toteuttamiseen on ja erityisesti, miten se mahdollistetaan Elasticsearchilla.
Elasticsearch on yksi käytetyimmistä haku- ja analytiikkamoottoreista. Elasticsearch on jo pitkään suoriutunut erinomaisesti avainsanahausta ja viime vuosina sinne on kehitetty semanttisen haun menetelmiä. Vuonna 2023 Elasticsearchiin julkaistiin ensimmäinen varsinainen hybridihakuominaisuus, jota kehitetään edelleen aktiivisesti. Se tarjoaa keinoja hybridihaun toteuttamiseen yhdellä kutsulla ilman, että ohjelmoijan tarvitsee itse luoda monimutkaisia yhdistämisfunktioita.
Kokoelmat
- Kandidaatintutkielmat [8918]