对于 mongodb,如何在 C# 中创建以下索引?
db.reviews.ensureIndex( { comments: "text" } )
我在http://api.mongodb.org/csharp/current/?topic=html/7e62224e-33ab-098b-4e07-797c45494a63.htm上没有看到 IndexOptions 的任何“文本”选项
对于 mongodb,如何在 C# 中创建以下索引?
db.reviews.ensureIndex( { comments: "text" } )
我在http://api.mongodb.org/csharp/current/?topic=html/7e62224e-33ab-098b-4e07-797c45494a63.htm上没有看到 IndexOptions 的任何“文本”选项
您需要通过脚本或直接在 MongoDB 数据库上进行设置,因为 C# 驱动程序不会公开文本索引创建功能,因为它仍处于“测试版”中。
不幸的是,您也不能轻易地覆盖行为......因为控制行为的类不容易被覆盖/扩展。
如果您创建了IndexKeysBuilder
该类的副本(此处),并添加了一个新方法(如下所示):
public IndexKeysBuilder Text(string name)
{
_document.Add(name, "text");
return this;
}
你可以使用它而不是内置的东西,理论上它应该可以工作(我没有测试过这个)。
在 c# 中创建文本索引的最简单方法是使用驱动程序包装库MongoDB.Entities。这是创建文本索引的示例:
DB.Index<Review>()
.Key(a => a.Comment, Type.Text)
.Create();
还没有看到比这更简单的东西。