sql >> Databáze >  >> NoSQL >> MongoDB

Nejlepší způsob, jak provádět fulltextové vyhledávání v MongoDB a Mongoose

Do definice schématu Mongoose můžete přidat textový index, který vám umožní použít $text operátor ve vašem find dotazy k prohledání všech polí zahrnutých v textovém indexu.

Chcete-li vytvořit index pro podporu textového vyhledávání, řekněme name a profile.something :

var schema = new Schema({
  name: String,
  email: String,
  profile: {
    something: String,
    somethingElse: String
  }
});
schema.index({name: 'text', 'profile.something': 'text'});

Nebo pokud chcete do indexu zahrnout všechna pole řetězců, použijte '$**' zástupný znak:

schema.index({'$**': 'text'});

To vám umožní provést stránkovaný textový vyhledávací dotaz jako:

MyModel.find({$text: {$search: searchString}})
       .skip(20)
       .limit(10)
       .exec(function(err, docs) { ... });

Další podrobnosti najdete v úplné dokumentaci textových indexů MongoDB.




  1. Přehled databázových provozních sestav v ClusterControl

  2. Jak sloučit pole pole v dokumentu v agregaci Mongo

  3. Úvod do Apache HBase Snapshots

  4. Kroky pro připojení MongoDB a Solr pomocí DataImportHandler