Vi har ventet lenge, og nå er endelig versjon 3.1 av Solr sluppet. Versjon 1.4.1 kom i juni 2010 og av ulike årsaker ble det aldri noen 1.4.2 eller 1.5 versjon. Dels på grunn av at utviklingsmiljøet og kodebasen til Lucene og Solr ble slått sammen, noe som også forklarer hoppet i versjon til 3.1, for å tilpasse seg Lucene’s versjonsnummer.
Så hva er nytt? For meg er de viktigste to funksjonene Extended Dismax parser (SOLR-1553) og GEO-søk. En komplett liste over forbedringer finnes i CHANGES.TXT, men her er mine favoritter:
eDisMax query parser
Denne nye parseren bygger på disMax, og tillater full Lucene spørre-syntaks, inkludert jokertegn og fuzzy søk. Vi får også forbedret stoppord-håndtering og nye pf2 og pf3 parametre for bi- og tri-gram frase-boost. Dette er din nye favoritt-queryparser. Ta i bruk med defType=edismax
GEOgrafisk / kart-søk
Har du posisjonsdata på dokumentene dine? Vil du sortere eller booste resultatene basert på avstand fra et punkt? Du kan gjøre det med den nye GEO-søk støtten. For å filtrere resultatene innenfor 5km kan du skrive: &fq={!geofilt pt=45.15,-93.85 sfield=store d=5}. Mer info på Solr Wiki.
Bedre prototyping grensesnitt
Den innebygde Velocity-baserte søke-frontenden er forbedret, og vil nå fungere med fasetter, GEO søk, stavekontroll etc. Jeg bruker denne til prototyping og mockups. Den lever på /solr/browse istedenfor /solr/itas, og har fått penere look. Fortsatt ikke perfekt og mine patcher for å gjøre range-fasetter dynamiske (SOLR-2383) og mulighet til å se alle felter i dokumentet (SOLR-2384) kom ikke med i tide før kode-frysen, men du kan jo legge de på selv.
Sorter etter funksjon
Sorteringen tar nå en Function Query som input, som betyr at du f.eks. kan gjøre &sort=sum(a,b) asc. Denne generiske magien blir også brukt for å sortere på avstand til en lokasjon, siden GEO distanse uttrykkes som en funksjon.
Numeriske intervall-fasetter (range)
Vi har hatt dato-intervall fasetter en stund, men ikke det samme for vanlige tall. Med den nye “range facet” funksjonen kan du fasettere på både tall og datoer og angi hvilket intervall verdiene skal deles opp i. F.eks. &facet.range=price&facet.range.gap=50 vil gi en pris-fasett som automatisk splitter i intervallene 0-50, 50-100, 100-150… Det er planer om å gjøre intervall-fasettene enda mer fleksible ved å tillate ulik bredde på intervallene, med det får komme i en senere versjon (se SOLR-2366)
Hva nå?
Så hva venter du på? Last ned en fersk kopi og sjekk den ut!
Sørg også for å få med deg Cominvent’s Solr Product Sheet, som gir en rask oversikt over Solr, som til og med sjefen din kan forstå 🙂
Cominvent har oppdatert våre kurs slik at de dekke alle nye egenskaper i Solr 3.1. Gå til www.solrkurs.no for å lese mer.