How To Implement Mongodb TextSearch with C#
2015/1/311 min read
bookmark this
First add text index to the collection.
// add text index to the item
string[] textIndex = new string[] { "Name", "ListItem.Name", "ListItem.Name2", "AnotherListItem.Name"};
string indexName = string.Join("_text_", textIndex) + "_text";
if (collection.IndexExistsByName(indexName))
{
collection.DropIndexByName(indexName);
}
collection.EnsureIndex(new IndexKeysBuilder().Text(textIndex));
Now, call text search functions
var textSearchCommand = new CommandDocument
{
{ "text", "CollectionName" },
{ "search", yourSearchTargetText}
};
var commandResult = Mongo.Database.RunCommand(textSearchCommand);
var yourCollectionItems = commandResult.Response["results"].AsBsonArray.Select(o =>
{
return BsonSerializer.Deserialize(o["obj"].AsBsonDocument);
});
Mongodb need to be 2.6 or higher
That's it, now you can enjoy text search in MongoDB.