MongoDB umožňuje pouze jeden textový index na kolekci.
Můžete však použít textový index, který zahrnuje více polí:
db.collection.ensureIndex( {
description: "text",
title: "text"
} );
Tímto způsobem získáte výsledky, když je fráze, kterou hledáte, nalezena v obou. Když to není to, co chcete, například když máte dva vyhledávací dotazy, z nichž každý vrací výsledky z jednoho z polí, ale ne z druhého, máte dvě možnosti.
- použijte vícepolový textový index, ale zahoďte výsledky, které pocházejí z nesprávného pole na aplikační vrstvě.
- extrahujte jedno ze dvou polí do jiné kolekce. Dokumenty v této sbírce mohou obsahovat buď úplné kopie, redigované kopie, nebo pouze pole, které indexujete, a
_id
původního dokumentu.