Domanda

In Lucene se avessi più indici che coprivano solo una partizione ciascuno.Perché la stessa ricerca su indici diversi restituisce risultati con punteggi diversi?I risultati di diversi server corrispondono esattamente.

cioè.se cercassi:

  • Nome: John Smith
  • Data di nascita: 11/11/1934

Partizione 0 restituirebbe un punteggio di 0,345

Partizione 1 restituirebbe un punteggio di 0,337

Entrambi corrispondono esattamente al nome e alla data di nascita.

Nessuna soluzione corretta

Altri suggerimenti

IL punteggio contiene la frequenza inversa del documento (IDF).Se il termine "John Smith" è in una partizione, 0, 100 volte e nella partizione 1, una volta.Il punteggio per la ricerca di John Smith sarebbe più alto nella partizione 1 poiché il termine è più scarso.

Per aggirare questo problema dovresti avere l'indice su tutte le partizioni, oppure dovresti sovrascrivere l'IDF.

Perché il punteggio si determina sull'indice se non sbaglio del tutto.

Se disponi di indici diversi (più/meno o dati diversi indicizzati), il punteggio sarà diverso:

http://lucene.apache.org/core/3_6_0/scoring.html

(Avvertimento:Contiene matematica :-))

Potresti anche essere interessato all'output di explain() metodo, e il risultante Explanation oggetto, che ti darà un'idea di come vengono valutate le cose nel modo in cui sono.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top