[voikko] Solr ja Voikko

Ismo Raitanen ismo.raitanen at iki.fi
Tue Dec 20 10:43:37 EET 2011


Hei,

Ehdin vihdoin testata Harrin tekemää koodia Voikon yhdistämisestä
Solriin. Laitanpa pientä raporttia, jos vaikka joku muukin on
kiinnostunut Voikon käyttämisestä Solrin kanssa. (Edellinen,
alimmaisena oleva, meni vain Harrille.)

Sain siis koodit toimimaan, ja Voikon avulla saatu sanan (ensimmäinen)
perusmuoto tuntuisi päätyvän indeksiin. Sanat, joille ei löydy
perusmuotoa, menevät indeksiin sellaisenaan. Vastaavasti kyselyn sanat
muuttuvat perusmuotoon. Säätämistä aiheutti lähinnä ympäristön kuntoon
saattaminen Java-kirjastoineen kaikkineen. Ympäristönäni on Debian.
Solrista käytössä on tuore 3.5.0, ja ihan perus-Jettyn kanssa
testailin. Hakemistoon /example/solr/lib tyrkkäsin nämä: Voikko.jar,
VoikkoBaseformFilterFactory.jar, jna.jar ja junit4.jar.

En osaa arvioida kuinka paljon Solria käytetään suomenkielisen
materiaalin hakemiseen, mutta uskoisin, että tällaisesta
perusmuotoistajasta voisi olla iloa laajemminkin. Solrin ohjeissa
mainitaan, että suomen kielelle on käytettävissä Snowball-stemmeri ja
kevyempi LightStem-stemmeri. Myös Hunspell on käytettävissä
stemmaukseen. Snowballin ja Hunspellin kohdalla kuitenkin mainitaan,
että ne eivät toimi hyvin suomen kielen kanssa, joten siinäkin
mielessä tilausta Voikolle on. Lisäksi ohjeistuksessa mainitaan, että
lemmatisoijaa ei ole suoraan Solriin saatavilla.

http://wiki.apache.org/solr/LanguageAnalysis
http://wiki.apache.org/solr/Hunspell
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters

/Ismo

2011/12/16 Harri Pitkänen <hatapitk at iki.fi>:
>
> On Friday 16 December 2011, Ismo wrote:
>> Solrin käynnistys herjaa:
>>
>> org.apache.solr.common.SolrException: Error loading class
>> 'org.puimula.experimental.solrtest.VoikkoBaseformFilterFactory'
>> ...
>> Caused by: java.lang.ClassNotFoundException:
>> org.puimula.experimental.solrtest.VoikkoBaseformFilterFactory
>>
>> .../example/solr/lib sisältää jar-paketissa tekemäsi Java-luokat:
>>
>> % jar tfv VoikkoBaseformFilterFactory.jar
>> 0 Fri Dec 16 14:01:06 EET 2011 META-INF/
>> 71 Fri Dec 16 14:01:06 EET 2011 META-INF/MANIFEST.MF
>> 1765 Fri Dec 16 13:57:08 EET 2011 VoikkoBaseformFilter.class
>> 550 Fri Dec 16 13:57:08 EET 2011 VoikkoBaseformFilterFactory.class
>
> Paketoinnin pitäisi mennä niin, että jar-paketin sisällä Java-luokat ovat
> pakettiensa mukaisessa hakemistorakenteessa. Eli
>
> META-INF/
> META-INF/MANIFEST.MF
> org/puimula/experimental/solrtest/VoikkoBaseformFilter.class
> org/puimula/experimental/solrtest/VoikkoBaseformFilterFactory.class
>
> Jos paketoit tuon jar-tiedoston tällä tavoin uudestaan, voisi homma lähteä
> toimimaan.

No niinpä tietty. Toimimaan lähti!

>> Koitin myös sivun
>> http://sourceforge.net/apps/trac/voikko/wiki/java/install mukaista
>> testausta. En saanut sitäkään täysin toimimaan ->
>>
>> FAILURES!!!
>> Tests run: 88,  Failures: 4
>>
>> Ongelma tässä tuntuisi liittyvän sanakirjan löytymiseen:
>>
>> org.puimula.libvoikko.VoikkoException: Specified dictionary variant
>> was not found
>> org.puimula.libvoikko.VoikkoException: Specified dictionary variant
>> was not found
>> org.puimula.libvoikko.VoikkoException: Specified dictionary variant
>> was not found
>> org.puimula.libvoikko.VoikkoException: Specified dictionary variant
>> was not found
>
> Tässä ei luultavasti ole mitään todellista ongelmaa. Testien joukossa on neljä
> testiä, jotka vaativat lääketieteellisen sanaston, ja sitä sinulla ei
> luultavasti ole asennettuna. Eli tämän testin perusteella libvoikon Java-
> rajapinta näyttäisi toimivan juuri kuten pitääkin.

Kiitos. Asensin kokeeksi myös lääketieteellisen sanaston, ja herjat
loppuivat siihen!

/Ismo



More information about the voikko mailing list