MongoDB consente un solo indice di testo per raccolta.
Ma puoi usare un indice di testo che si estende su più campi:
db.collection.ensureIndex( {
description: "text",
title: "text"
} );
In questo modo otterrai risultati quando la frase che stai cercando si trova in entrambi. Quando questo non è quello che vuoi, come quando hai due query di ricerca che restituiscono risultati da uno dei campi ma non dall'altro, hai due opzioni.
- usa un indice di testo multicampo, ma elimina i risultati che provengono dal campo sbagliato nel livello dell'applicazione.
- estrai uno dei due campi in una raccolta diversa. I documenti in quella raccolta potrebbero contenere copie complete, copie redatte o solo il campo che indicizzi e il
_id
del documento originale.