Hakualustan integroiminen Memoriaali-verkkopalveluun
Piitulainen, Pyry (2023)
Piitulainen, Pyry
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023121838031
https://urn.fi/URN:NBN:fi:amk-2023121838031
Tiivistelmä
Työn tavoitteena oli esitellä erilaisia hakualustoja ja valita sopiva hakualusta, joka voidaan integroida Memoriaali-verkkopalveluun, niin että sen käyttäjät voivat hakea aineistoja hakualustan indeksistä. Hakualustaksi valikoitui Elasticsearch, jonka lisäksi asennettiin Logstash-komponentti, jotta nykyisestä Memoriaalin tietokannasta aineistot saadaan vaivattomasti Elasticsearchin-indeksiin.
Opinnäytetyö aloitettiin perehtymällä tietokantoihin ja indeksointiin. Tämän jälkeen käytiin läpi mahdollisia toimeksiannon toteutuksessa käytettäviä hakualustoja. Vaihtoehtoina esiteltiin Elasticsearch, Apache Solr, Sphinx ja Amazon cloud search, joista sopivimmaksi valikoitui Elasticsearch. Sen jälkeen käytiin tarkemmin läpi Elasticsearchin toimintaa ja sen arkkitehtuuria. Varsinainen käytännön työ alkoi Elasticsearchin asennuksella ja sen asetusten määrittämisellä. Tämän jälkeen asennettiin Logstash-komponentti, joka haki aineistot memoriaalin tietokannasta Elasticsearchin-indeksiin. Kun indeksiin oli saatu aineistot, pystyi Elasticsearchin liittämään Memoriaalin koodiin ja sinne ohjelmoitiin toimiva hakuominaisuus.
Työn tuloksena oli omalla tietokoneella paikallisesti toimiva Elasticsearch-indeksi ja Logstash-komponentti, joka hakee aineistoja Memoriaalin tietokan-nasta tietyin aika välein. Tämän jälkeen ohjelmoitiin uusi hakuominaisuus Memoriaali-verkkopalveluun, jonka avulla Memoriaalin käyttöliittymästä saadaan haettua aineistoja, jotka ovat Elasticsearch-indeksissä. Työ antoi näytön siitä, että Memoriaali-verkkopalveluun saadaan integroitua avoimen lähdekoodin hakualusta ja tulevaisuudessa Elasticsearch ja Logstash voidaan asentaa oikealle palvelimelle tuotantokäyttöön.
Opinnäytetyö aloitettiin perehtymällä tietokantoihin ja indeksointiin. Tämän jälkeen käytiin läpi mahdollisia toimeksiannon toteutuksessa käytettäviä hakualustoja. Vaihtoehtoina esiteltiin Elasticsearch, Apache Solr, Sphinx ja Amazon cloud search, joista sopivimmaksi valikoitui Elasticsearch. Sen jälkeen käytiin tarkemmin läpi Elasticsearchin toimintaa ja sen arkkitehtuuria. Varsinainen käytännön työ alkoi Elasticsearchin asennuksella ja sen asetusten määrittämisellä. Tämän jälkeen asennettiin Logstash-komponentti, joka haki aineistot memoriaalin tietokannasta Elasticsearchin-indeksiin. Kun indeksiin oli saatu aineistot, pystyi Elasticsearchin liittämään Memoriaalin koodiin ja sinne ohjelmoitiin toimiva hakuominaisuus.
Työn tuloksena oli omalla tietokoneella paikallisesti toimiva Elasticsearch-indeksi ja Logstash-komponentti, joka hakee aineistoja Memoriaalin tietokan-nasta tietyin aika välein. Tämän jälkeen ohjelmoitiin uusi hakuominaisuus Memoriaali-verkkopalveluun, jonka avulla Memoriaalin käyttöliittymästä saadaan haettua aineistoja, jotka ovat Elasticsearch-indeksissä. Työ antoi näytön siitä, että Memoriaali-verkkopalveluun saadaan integroitua avoimen lähdekoodin hakualusta ja tulevaisuudessa Elasticsearch ja Logstash voidaan asentaa oikealle palvelimelle tuotantokäyttöön.