MongoDB tillader kun ét tekstindeks pr. samling.
Men du kan bruge et tekstindeks, som spænder over flere felter:
db.collection.ensureIndex( {
description: "text",
title: "text"
} );
På den måde vil du få resultater, når den sætning, du søger efter, findes i enten. Når det ikke er det, du ønsker, som når du har to søgeforespørgsler, som hver returnerer resultater fra et af felterne, men ikke det andet, har du to muligheder.
- brug et tekstindeks med flere felter, men kasser de resultater, der kommer fra det forkerte felt på applikationslaget.
- udtræk et af de to felter til en anden samling. Dokumenterne i den samling kan enten indeholde hele kopier, redigerede kopier eller bare det felt, du indekserer, og
_id
af det originale dokument.