For AI agents: a documentation index is available at https://www.mongodb.com/es/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Puntúe los documentos en los resultados

Cada documento devuelto por una query de MongoDB Search o MongoDB Vector Search recibe una puntuación basada en la relevancia, y los documentos incluidos en un conjunto de resultados son devueltos en orden de mayor a menor puntuación.

Para incluir la puntuación de cada documento en los resultados de búsqueda, utiliza la etapa $project ; en el pipeline de agregación.

  • For the $search stage, the score field takes the $meta expression, which requires the searchScore value. You can also specify the searchScoreDetails value for the scoreDetails field $meta expression for a detailed breakdown of the score.

  • For the $vectorSearch stage, the score field takes the $meta expression, which requires the vectorSearchScore value to return the score of each document in your vector search results.

Nota

Se puede utilizar:

Si utilizas searchScore y vectorSearchScore en cualquier otra query, MongoDB registra una advertencia a partir de MongoDB v8.2.

Ejemplo

La siguiente query utiliza una etapa $project para añadir un campo llamado score a los documentos devueltos:

1db.movies.aggregate([
2 {
3 "$search": {
4 "text": {
5 <operator-specification>
6 }
7 }
8 },
9 {
10 "$project": {
11 "<field-to-include>": 1,
12 "<field-to-exclude>": 0,
13 "score": { "$meta": "searchScore" }
14 }
15 }
16])
1db.movies.aggregate([
2 {
3 "$search": {
4 "text": {
5 <operator-specification>
6 },
7 "scoreDetails": true
8 }
9 },
10 {
11 "$project": {
12 "<field-to-include>": 1,
13 "<field-to-exclude>": 0,
14 "scoreDetails": { "$meta": "searchScoreDetails" }
15 }
16 }
17])

Para obtener más información, consulta las devoluciones sobre los detalles de puntuación de búsqueda.

1db.movies.aggregate([
2 {
3 "$vectorSearch": {
4 <query-syntax>
5 }
6 },
7 {
8 "$project": {
9 "<field-to-include>": 1,
10 "<field-to-exclude>": 0,
11 "score": { "$meta": "vectorSearchScore" }
12 }
13 }
14])

Para obtener más información, consulta Evaluación de búsqueda vectorial de MongoDB.

La puntuación asignada a un documento devuelto forma parte de los metadatos del documento. Puedes utilizar una etapa $project en tu pipeline de agregación para incluir la puntuación de cada documento devuelto junto con el conjunto de resultados. Los documentos retornan del puntaje más alto al más bajo. Muchos factores pueden influir en la puntuación de un documento, incluyendo los siguientes:

  • Posición del término de búsqueda en el documento.

  • Frecuencia de aparición del término de búsqueda en el documento.

  • Tipo de operador o analizador que utiliza una query de MongoDB Search.

Para obtener más información sobre el algoritmo de puntuación de Lucene, consultar la documentación de Lucene.

Además del comportamiento de puntuación por defecto, MongoDB Search admite las siguientes opciones:

Si varios documentos en los resultados tienen puntuaciones idénticas, el orden de los documentos en los resultados es no determinista. Si deseas que los resultados de MongoDB Search tengan un orden determinado, incluye la opción sort en tu etapa $search para ordenar los resultados según un campo único. Puedes utilizar la opción de ordenar para devolver también una ordenación ascendente de los resultados por puntuación. Para obtener más información, consulte Ordenar los resultados de búsqueda de MongoDB Search y Ejemplos de ordenación por puntuación.

On separate Search Nodes, each node assigns documents different internal Lucene IDs used for sorting when scores are identical. When sorting and paginating results, the mongot process on the node that is processing the query might include documents from other nodes if their internal IDs have greater pagination order than the token. To prevent this, use $match after $search to exclude documents by their _id.

Cuando se consultan valores en arreglos, MongoDB Search asigna mayores puntuaciones si más valores en el arreglo coinciden con la query.

Para ejemplos de cómo usar opciones adicionales score en tus búsquedas de MongoDB Search, consulta las siguientes páginas:

Para ver ejemplos sobre cómo utilizar el campo score en algunas consultas comunes de MongoDB Search, consulta las siguientes páginas: