sql >> Base de Datos >  >> NoSQL >> MongoDB

Índice de búsqueda de texto completo de MongoDB:error:demasiado índice de texto para, ¿por qué?

MongoDB solo permite un índice de texto por colección.

Pero puede usar un índice de texto que abarque varios campos:

db.collection.ensureIndex( {
    description: "text",
    title: "text"
} );

De esa manera, obtendrá resultados cuando la frase que está buscando se encuentre en cualquiera de los dos. Cuando esto no es lo que desea, como cuando tiene dos consultas de búsqueda que devuelven resultados de uno de los campos pero no del otro, tiene dos opciones.

  1. use un índice de texto de varios campos, pero descarte los resultados que provienen del campo incorrecto en la capa de aplicación.
  2. extraer uno de los dos campos a una colección diferente. Los documentos de esa colección pueden contener copias completas, copias redactadas o solo el campo que indexa y el _id del documento original.