Novità di Elasticsearch. Sono interessato solo a restituire i documenti più pertinenti e ho trovato min_score. Dicono "Nota, molte volte, questo non ha molto senso", ma non fornisce una ragione. Quindi, perché non ha senso usare min_score?Perché non utilizzare min_score con Elasticsearch?
MODIFICA: Quello che voglio veramente è restituire solo i documenti con un "punteggio" superiore a x. Ho questo:
data = {
'min_score': 0.9,
'query': {
'match': {'field': 'michael brown'},
}
}
C'è un'alternativa migliore a quanto sopra in modo che restituisca solo i documenti più rilevanti?
thx!
EDIT # 2: sto usando minimum_should_match e restituisce un errore 400:
"error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed;"
data = {
'query': {
'match': {'keywords': 'michael brown'},
'minimum_should_match': '90%',
}
}
Non molto utile a meno che non si stiano calcolando da soli i punteggi per i risultati, e anche in questo caso è probabile che debbano essere completamente controllati dall'utente. Non ho mai usato min_score nonostante l'utilizzo degli aumenti del punteggio perché non mi sono mai preoccupato del punteggio minimo contro il minimo dovrebbe corrispondere. Uso solo il punteggio per l'ordinamento e la ricerca n in alto – coffeeaddict
Ho anche provato a utilizzare minimum_should_match ma restituisce uno stato "400". Ho aggiornato la mia domanda. –
come stai usando minimum_should_match? la cosa su min_score è cosa significa 0.9? come hai definito ciò che è "abbastanza buono" in base al punteggio (a meno che tu non stia generando quel punteggio usando una spinta/funzione) – coffeeaddict