Site search solutions in Episerver CMS
Riisalo, Henri (2019)
Riisalo, Henri
2019
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-2019052712331
https://urn.fi/URN:NBN:fi:amk-2019052712331
Tiivistelmä
Insinöörityön tarkoituksena oli Episerver CMS:n ja sen sivustohakujen toteutuksien asennus ja laajamittainen kehitys. Insinöörityön pääpaino on hakumoduulien asennuksessa ja kehityksessä. Työhön valitut moduulit olivat Episerver Search, Episerver Find sekä Vulcan, joista Episerver Find on maksulliseen lisenssiin pohjautuva.
Insinöörityötä varten kehitetyn teknisen prototyypin pääasiallinen tarkoitus oli kehittää haun ilmaisratkaisuja vähintäänkin vastaamaan maksullisen ratkaisun vapaa- ja fraasihakuja. Implementaatioita verrattiin toisiinsa suorituskyvyn, hakutulosten määrän ja ylimpien tulosten tarkkuuden pohjalta. Prototyypin toissijainen tarkoitus oli testata ja varmistaa usean hakumoduulin käyttö yhdessä projektissa. Prototyyppi pohjautui ASP.NET MVC pinoon ja kehitettiin pääasiassa C#-kielellä.
Kehitys alkoi prototyypin luomisesta. Prototyyppiä käytettiin insinöörityön tietopohjan luontiin, hakumoduulien asennukseen ja kehitykseen sekä hakutoimenpiteiden ja niiden analytiikan automatisointiin. Tietopohja luotiin ulkopuolisesta vapaasta datasta, jota haettiin Guardian UK:n ja Mirror UK:n rajapinnoista. Ensimmäisessä versiossa käytettiin vain Mirror UK:n rajapintaa kunnes rajapinnan tarjoileman datan määrän yllättävän rajoituksen vuoksi tuli integroida toinen rajapinta prototyyppiin.
Hakumoduulien implementaatio aloitettiin jokaisen hakumoduulin luurankoversiolla, jotta eri moduulien toiminnallisuuksien eroja ilman laajempaa kehitystä voisi vertailla. Alustavien versioiden jälkeen eri moduuleja kehitettiin vaiheittain ja tarkoituksena oli parantaa ilmaisratkaisuiden suorituskykyä ja tarkkuutta.
Molemmat ilmaisratkaisut, Vulcan ja Episerver Search, saatiin lähelle Episerver Findin tasoa sekö suorituskyvyllisesti että tarkkuudelta. Implementaatiot tehtiin modulaarisiksi ja täten sivustoprojektien haun kehityksen prosessia voidaan nopeuttaa joko käyttämällä prototyypin moduuleja suoraan tai jatkokehityksen pohjana.
Insinöörityötä varten kehitetyn teknisen prototyypin pääasiallinen tarkoitus oli kehittää haun ilmaisratkaisuja vähintäänkin vastaamaan maksullisen ratkaisun vapaa- ja fraasihakuja. Implementaatioita verrattiin toisiinsa suorituskyvyn, hakutulosten määrän ja ylimpien tulosten tarkkuuden pohjalta. Prototyypin toissijainen tarkoitus oli testata ja varmistaa usean hakumoduulin käyttö yhdessä projektissa. Prototyyppi pohjautui ASP.NET MVC pinoon ja kehitettiin pääasiassa C#-kielellä.
Kehitys alkoi prototyypin luomisesta. Prototyyppiä käytettiin insinöörityön tietopohjan luontiin, hakumoduulien asennukseen ja kehitykseen sekä hakutoimenpiteiden ja niiden analytiikan automatisointiin. Tietopohja luotiin ulkopuolisesta vapaasta datasta, jota haettiin Guardian UK:n ja Mirror UK:n rajapinnoista. Ensimmäisessä versiossa käytettiin vain Mirror UK:n rajapintaa kunnes rajapinnan tarjoileman datan määrän yllättävän rajoituksen vuoksi tuli integroida toinen rajapinta prototyyppiin.
Hakumoduulien implementaatio aloitettiin jokaisen hakumoduulin luurankoversiolla, jotta eri moduulien toiminnallisuuksien eroja ilman laajempaa kehitystä voisi vertailla. Alustavien versioiden jälkeen eri moduuleja kehitettiin vaiheittain ja tarkoituksena oli parantaa ilmaisratkaisuiden suorituskykyä ja tarkkuutta.
Molemmat ilmaisratkaisut, Vulcan ja Episerver Search, saatiin lähelle Episerver Findin tasoa sekö suorituskyvyllisesti että tarkkuudelta. Implementaatiot tehtiin modulaarisiksi ja täten sivustoprojektien haun kehityksen prosessia voidaan nopeuttaa joko käyttämällä prototyypin moduuleja suoraan tai jatkokehityksen pohjana.