Pregunta

Hay un procedimiento de almacenamiento que usa FREETEXTTABLE dos veces en dos tablas y luego combina los resultados y devuelve los 50 principales.

El problema es si hago una búsqueda en '' Mujeres de Brewster '', los resultados devuelven '' Confesión de un ex doofus motha '' con un rango de 143 de la tabla A y segundo '' Women of Brewster Place '' con un rango de 102 de la tabla B.

¿Esto se debe al recuento? (El total de resultados de devolución de la Tabla A es 2399. El total de resultados de devolución de la Tabla B es 3445).

¿Fue útil?

Solución

La respuesta corta:

  

La clasificación de texto libre se basa en OKAPI   Fórmula de clasificación BM25. Cada término en el   la consulta se clasifica y los valores son   resumido Las consultas de texto libre agregarán   palabras a la consulta por inflexión   generación (formas derivadas de la   términos de consulta originales); estas palabras son   tratado como términos separados sin   ponderación especial o relación con   las palabras de las cuales eran   generado. Sinónimos generados a partir de   La función de diccionario de sinónimos se trata como   términos separados, igualmente ponderados.

La respuesta mucho más larga y mucho más complicada se puede encontrar en el sitio de Microsoft, por supuesto. Para matemáticas avanzadas, haga clic aquí .

Otros consejos

1) El archivo de ruido se limitó a unos pocos caracteres, lo que significa que la palabra " de " Ahora se considera importante.

2) Los resultados de las dos tablas (conteo) son importantes, ya que la tabla más pequeña probablemente tendrá un mejor valor de peso. Esto sesgará el rango para ser más alto en una tabla más pequeña.

El enlace de Josef a MSDN fue excelente para descubrir cómo calcula el valor de rango.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top