Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afLars Overgaard Redigeret for ca. et år siden
1
Rankering - principperne Rankering = sortering efter relevans –Relevans? –Hvis relevanskriterier? Rankering – det valgte kriterie –Topical relevance dvs. match på søgetermer Fordele –Umiddelbart til at implementere i Solr-laget Ulemper –a priori regler – søgeudtrykket afgørende
2
Scoring i Solr Baseret på klassisk IR-teori (Vector Space Model) Der dannes en relevansscore som afhænger af –Termfrekvensen (tf) –Den inverse dokumentfrekvens (idf) –Antallet af søgetermer fundet i dokumentet –Længdenormalisering Nærmere beskrivelse kan findes i Lucenes dokumentation af Similarity-klassen http://lucene.apache.org/java/2_4_1/api/org/apache/lucene/search/S imilarity.html http://lucene.apache.org/java/2_4_1/api/org/apache/lucene/search/S imilarity.html
3
Rankering i Solr Specificeres i søgeøjeblikket dvs en dynamisk proces - query level boosting Kan justeres live uden at man skal re-indeksere Benytter sig af relevansscore-værdier i indekset –Høj relevansscore => høj relevans –Lav relevansscore => lav relevans Implementeres som vægte der ganges på den relevansscore der er dannet under indekseringen Kræver brug af en speciel queryHandler, dismax, som ikke forstår boolske udtryk
4
Muligheder med query boosting i Solr Øgning af score for termer i udvalgte ord-felter eller frasefelter (qf pf operatorerne) Fremhævelse af dokumenter som matcher flere termer (tie operatoren) Fremhævelser af dokumenter baseret på hits på bestemte ord (bq operatoren)
5
Boost-værdierne er POSITIVE faktorer som ganges på relevans-scoren ParameterFormatVærdierNoter qf ^ dc.title^4 dc.creator^4 dc.subject^2 Værdien skal være > 0 og ganges på scoren pf ^ dc.title^8 dc.creator^8 dc.subject^3 Værdien skal være > 0 og ganges på scoren tie 0.1Værdien skal ligge i intervallet 0..1 bq( : )^ (dc.type:bog)^3Værdien skal være > 0 og ganges på scoren
6
Implementeringen i OpenSearch_0.12 rank[rank_general][word_boost]["dc.title"] = 3 rank[rank_general][phrase_boost]["dc.title"] = 6 rank[rank_general][word_boost]["dc.creator"] = 4 rank[rank_general][phrase_boost]["dc.creator"] = 8 rank[rank_general][word_boost]["dc.subject"] = 2 rank[rank_general][phrase_boost]["dc.subject"] = 3 rank[rank_general][word_boost]["cql.anyIndexes"] = 1 rank[rank_general][phrase_boost]["cql.anyIndexes"] = 1 rank[rank_general][tie] = 0.1
7
Et eksempel på udregning af score med boost – søgning på Martin Kongstad i kkb Den dannede søgestreng –CQL to DISMAX: (Martin Kongstad) -> ((Martin Kongstad) AND _query_:"{!dismax qf='dc.title^3 dc.creator^4 dc.subject^2 cql.anyIndexes^1' pf='dc.title^6 dc.creator^8 dc.subject^3 cql.anyIndexes^1' tie=0.1}Martin Kongstad ") Læg mærke til... –qf – ordsøgning –pf - frasesøgning
8
Martin Kongstad - resultat
9
Martin Kongstad - scoreværdier 6.38 2.43 2.35
10
Martin Kongstad – forklaring Dengang i 80'erne Martin Kongstad & Henrik Vesterberg Vesterberg Henrik Kongstad Martin Hit på både ord- og frasesøgning Han danser på sin... Kongstad Martin aut Kun hit på ordsøgning
11
Konsekvenser Poster med mange forekomster af en søgeterm kommer højere op Et fund i creator, title, subject får et boost Der vægtes højt, hvis hele den søgte streng findes Og endnu højere, hvis der er både ord- og frasesøgningshit samtidigt
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.