3

对于 mongodb,如何在 C# 中创建以下索引?

db.reviews.ensureIndex( { comments: "text" } )

我在http://api.mongodb.org/csharp/current/?topic=html/7e62224e-33ab-098b-4e07-797c45494a63.htm上没有看到 IndexOptions 的任何“文本”选项

4

2 回答 2

1

您需要通过脚本或直接在 MongoDB 数据库上进行设置,因为 C# 驱动程序不会公开文本索引创建功能,因为它仍处于“测试版”中。

不幸的是,您也不能轻易地覆盖行为......因为控制行为的类不容易被覆盖/扩展。

如果您创建了IndexKeysBuilder该类的副本(此处),并添加了一个新方法(如下所示):

public IndexKeysBuilder Text(string name)
{
    _document.Add(name, "text");
    return this;
}

你可以使用它而不是内置的东西,理论上它应该可以工作(我没有测试过这个)。

于 2013-10-23T22:06:04.087 回答
0

在 c# 中创建文本索引的最简单方法是使用驱动程序包装库MongoDB.Entities。这是创建文本索引的示例:

    DB.Index<Review>()
      .Key(a => a.Comment, Type.Text)
      .Create();

还没有看到比这更简单的东西。

于 2019-05-24T06:21:22.047 回答