O MongoDB permite apenas um índice de texto por coleção.
Mas você pode usar um índice de texto que abrange vários campos:
db.collection.ensureIndex( {
description: "text",
title: "text"
} );
Dessa forma, você obterá resultados quando a frase que estiver procurando for encontrada em qualquer um deles. Quando isso não é o que você deseja, como quando você tem duas consultas de pesquisa, cada uma retornando resultados de um dos campos, mas não do outro, você tem duas opções.
- use um índice de texto de vários campos, mas descarte os resultados que vêm do campo errado na camada do aplicativo.
- extraia um dos dois campos para uma coleção diferente. Os documentos nessa coleção podem conter cópias completas, cópias editadas ou apenas o campo que você indexa e o
_id
do documento original.