2011-10-09 11 views
5

Ya tengo el impulso determinado de antemano. Tengo un campo en el índice de solr llamado boost1. Este campo de impulso tendrá un valor de 1 a 10 similar al rango de Google PR. Este es el impulso que debe aplicarse a cada consulta ejecutada en solr. aquí están los campos en mi índiceCómo aumentar los campos en solr

  • Id
  • Título
  • texto
  • Boost1 campo

El impulso se debe aplicar a cada consulta. Estoy tratando de implementar funcionalidades similares al rango de Google PR. ¿Hay alguna manera de hacer esto usando solr?

+0

Esto sigue siendo (a partir de 2012) informativo y útil: https://nolanlawson.com/2012/06/02/comparing-boost-methods-in-solr/ – Risadinha

Respuesta

8

puede agregar el impulso durante la consulta, p.

q={!boost b=boost1} 

How_can_I_boost_the_score_of_newer_documents

Sin embargo, esto puede ser necesario añadir explícitamente a ello.

Si está utilizando dismax o edismax con el controlador de solicitud, el parámetro bf (Boost Functions) podría utilizarse para impulsar los documentos. http://wiki.apache.org/solr/DisMaxQParserPlugin#bf_.28Boost_Functions.29

bf=boost1^0.5 

Esto se puede agregar a los valores predeterminados con la definición controlador de solicitudes, por lo que se aplican a todas las consultas de búsqueda.

puede utilizar consultas de función para variar la cantidad de realce FunctionQuery

+0

Hola, ¿Cómo hacer una consulta a la función más compleja lograr un impulso con la multiplicación .. consulte por favor en http://stackoverflow.com/questions/19874983/use-function-query-for-boosting-score-in-solr –

+0

Es posible que desee preferir el 'boost' (multiplicative boost) al parámetro 'bf' (boost aditivo) en consultas' edismax'. Un artículo que arroja algo de luz sobre los diferentes parámetros: https://nolanlawson.com/2012/06/02/comparing-boost-methods-in-solr/ – Risadinha

Cuestiones relacionadas