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:
contenttem um peso de 10,keywordstem um peso de 5 eabouttem 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:
2vezes (ou seja10:5) o impacto como uma correspondência de termo no campokeywordse10vezes (ou seja10:1) o impacto como uma correspondência de termo no campoabout.
Observação
Para dados hospedados no MongoDB Atlas, o Atlas Search fornece uma pontuação personalizada mais robusta do que os índices text . Para saber mais, consulte a documentação de Pontuação do Atlas Search .