Domanda

Esiste una procedura di archivio che utilizza FREETEXTTABLE due volte su due tabelle, quindi unisce i risultati e restituisce i primi 50.

Il problema è se faccio una ricerca su "Women of Brewster", i risultati restituiscono "Confessione di un ex doofus motha" con un rango di 143 dalla tabella A e il secondo "Women of Brewster Place" con un rango di 102 dalla tabella B.

È a causa del conteggio? (Il totale dei risultati di ritorno della Tabella A è 2399. Il totale dei risultati di ritorno della Tabella B è 3445.)

È stato utile?

Soluzione

La risposta breve:

  

Il ranking del Freetext si basa su OKAPI   Formula di classifica BM25. Ogni termine nel   la query viene classificata e i valori lo sono   riassunto. Le query Freetext verranno aggiunte   parole per la query via inflessionale   generazione (forme derivate dal   termini della query originale); queste parole sono   trattati come termini separati con n   ponderazione speciale o relazione con   le parole da cui provenivano   generato. Sinonimi generati dal   Le funzionalità del thesaurus sono trattate come   termini separati, equamente ponderati.

La risposta molto più lunga e molto più complicata può essere trovata sul sito di Microsoft, ovviamente. Per la matematica avanzata, fai clic qui .

Altri suggerimenti

1) Il file noise era limitato a pochi caratteri, il che significa che la parola " di " è ora considerato importante.

2) I risultati delle due tabelle (conteggio) sono importanti, poiché molto probabilmente alla tabella più piccola verrà assegnato un valore di peso migliore. Questo inclinerà il rango per essere più alto in una tabella più piccola.

Il collegamento di Josef a MSDN è stato ottimo nel capire come calcola il valore di rango.

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