Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Atribuir pesos aos resultados da pesquisa de texto em sistemas autogerenciados

Texto O Atlas Search atribui uma pontuação a cada documento que contém o termo do Atlas Search nos campos indexados. A pontuação determina a relevância de um documento para uma determinada query do Atlas Search .

Para um índice text, o peso de um campo indexado denota a importância do campo em relação aos outros campos indexados em termos da pontuação de texto do Atlas Search .

Para cada campo indexado no documento, o MongoDB multiplica o número de correspondências pelo peso e soma os resultados. Usando essa soma, o MongoDB calcula a pontuação do documento. Consulte o operador $meta para obter detalhes sobre o retorno e a classificação por pontuações de texto.

O peso padrão é 1 para os campos indexados. Para ajustar os pesos dos campos indexados, inclua a opção weights no método db.collection.createIndex() .

Aviso

Escolha os pesos cuidadosamente para evitar a necessidade de reindexar.

Uma coleção blog possui os seguintes documentos:

{
_id: 1,
content: "This morning I had a cup of coffee.",
about: "beverage",
keywords: [ "coffee" ]
}
{
_id: 2,
content: "Who doesn't like cake?",
about: "food",
keywords: [ "cake", "food", "dessert" ]
}

Para criar um text índice com diferentes pesos de campo para o content campo e o keywords campo , inclua a weights opção no método createIndex() . Por exemplo, o seguinte comando cria um índice em três campos e atribui pesos a dois dos campos:

db.blog.createIndex(
{
content: "text",
keywords: "text",
about: "text"
},
{
weights: {
content: 10,
keywords: 5
},
name: "TextIndex"
}
)

O índice text tem os seguintes campos e pesos:

  • content tem um peso de 10,

  • keywords tem um peso de 5 e

  • about tem o peso padrão de 1.

Esses pesos denotam a importância relativa dos campos indexados entre si. Por exemplo, uma correspondência de termo no campo content tem:

  • 2 vezes (ou seja 10:5) o impacto como uma correspondência de termo no campo keywords e

  • 10 vezes (ou seja 10:1) o impacto como uma correspondência de termo no campo about .

Observação

Para dados hospedados no MongoDB Atlas, o Atlas Search fornece uma pontuação personalizada mais robusta do que text índices. Para saber mais, consulte a documentação de Pontuação do Atlas Search .

Voltar

Especificar nome para o índice de texto