Boosting en relevantiescores
Leer technieken om de relevantiescore van documenten te beïnvloeden met query boosting, field boosting en aangepaste scorefuncties.
Boosting en relevantiescores is een gratis Elasticsearch en systemen voor zoeken in volledige tekst-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Elasticsearch en systemen voor zoeken in volledige tekst. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Elasticsearch en systemen voor zoeken in volledige tekst bevat in totaal 4 lessen.
Waarom relevantie belangrijk is
Wanneer je iets zoekt, wil je niet zomaar resultaten; je wilt de beste resultaten. Dat is waar relevantie om draait!
Relevantie helpt zoekmachines zoals Elasticsearch bepalen welke documenten het belangrijkst of het meest 'relevant' zijn voor je zoekopdracht, zodat ze bovenaan worden weergegeven.
Maak kennis met _score
In Elasticsearch krijgt elk document dat overeenkomt met je zoekopdracht een numerieke waarde met de naam _score. Deze score geeft aan hoe relevant het document is voor je zoekopdracht.
- Een hogere
_scorebetekent dat het document als relevanter wordt beschouwd. - Elasticsearch gebruikt algoritmen (zoals BM25) om deze score te berekenen. Daarbij wordt rekening gehouden met factoren zoals hoe vaak een term voorkomt en hoe uniek die is.
Inleiding tot boosting
Hoewel Elasticsearch de relevantie automatisch berekent, wil je daar vaak invloed op uitoefenen. Daar komt boosting van pas!
Met boosting kun je het belang van specifieke queryclausules of velden handmatig verhogen of verlagen, waardoor je rechtstreeks invloed uitoefent op de _score van overeenkomende documenten.
Volledige zoekopdrachten boosten
Je kunt een parameter boost toepassen op een volledige queryclausule. Een boostwaarde groter dan 1.0 vergroot de invloed ervan, terwijl een waarde kleiner dan 1.0 die verkleint.
De standaardboostwaarde is 1.0, wat betekent dat er geen extra nadruk wordt gelegd.
Queryboosting in actie
Stel dat je zoekt naar 'coding' en wilt dat overeenkomsten in het veld description twee keer zo belangrijk zijn als andere onderdelen van je zoekopdracht.
Je kunt "boost": 2 toevoegen aan die specifieke match-clausule:
GET /my_index/_search
{
"query": {
"match": {
"description": {
"query": "coding",
"boost": 2
}
}
}
}Specifieke velden prioriteit geven
Vaak is een overeenkomst in het ene veld vanzelf belangrijker dan een overeenkomst in een ander veld. Een trefwoord in de title van een document is bijvoorbeeld meestal relevanter dan hetzelfde trefwoord in de content.
Met field boosting geef je dit belang rechtstreeks op in je zoekopdracht.
Voorbeeld van field boosting
Door de operator ^ (dakje) achter een veldnaam te gebruiken, kun je een boostfactor toewijzen. Hier is een overeenkomst in title drie keer belangrijker dan een overeenkomst in description:
GET /my_index/_search
{
"query": {
"multi_match": {
"query": "quick brown fox",
"fields": [ "title^3", "description^1" ]
}
}
}Verder dan eenvoudig boosten
Voor nog meer controle over relevantie biedt Elasticsearch de query function_score. Met dit krachtige querytype kun je aangepaste scorelogica op documenten toepassen.
Je kunt zaken zoals de populariteit of recentheid van een document, of specifieke numerieke veldwaarden, meenemen om de _score te beïnvloeden.
Eenvoudig voorbeeld van function_score
Dit is een eenvoudig voorbeeld van function_score. Het zoekt naar 'elastic' en verhoogt vervolgens de score op basis van het veld views_count, waarbij de basisscore wordt vermenigvuldigd met een factor die is afgeleid van views_count.
GET /my_index/_search
{
"query": {
"function_score": {
"query": { "match": { "text": "elastic" } },
"field_value_factor": {
"field": "views_count",
"factor": 1.2,
"modifier": "log1p",
"missing": 1
},
"boost_mode": "multiply"
}
}
}Vergroot je kennis!
Test je begrip van boosting en relevantie in Elasticsearch!
Relevantie afgesteld!
Goed gedaan! Je hebt geleerd hoe je controle krijgt over relevantie in Elasticsearch.
- De
_scorebepaalt het belang van een document. - Met queryboosting leg je nadruk op volledige queryclausules.
- Met field boosting geef je overeenkomsten in specifieke velden prioriteit.
- De query
function_scorebiedt geavanceerde, aangepaste aanpassingen van de relevantie.
Met deze technieken zorg je ervoor dat je gebruikers altijd eerst de meest relevante informatie vinden!
Leer Elasticsearch en systemen voor zoeken in volledige tekst met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Boosting en relevantiescores” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Elasticsearch en systemen voor zoeken in volledige tekst, waaronder “Boosting en relevantiescores”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Elasticsearch en systemen voor zoeken in volledige tekst bevat in totaal 4 lessen.
Wat leer ik in “Boosting en relevantiescores”?
Leer technieken om de relevantiescore van documenten te beïnvloeden met query boosting, field boosting en aangepaste scorefuncties. Je oefent met Elasticsearch en systemen voor zoeken in volledige tekst door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Elasticsearch en systemen voor zoeken in volledige tekst te beginnen?
Ervaring vooraf is niet nodig. Elasticsearch en systemen voor zoeken in volledige tekst op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Boosting en relevantiescores”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Elasticsearch en systemen voor zoeken in volledige tekst?
Ja. Elke les over Elasticsearch en systemen voor zoeken in volledige tekst bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Analyzers, tokenizers en filters
- Tekstanalyzers aanpassen
- Boosting en relevantiescores
- Synoniemen en stemming