【问题标题】:NEST2: How to specify the db index name onceNEST2:如何一次指定数据库索引名称
【发布时间】:2016-05-31 14:01:30
【问题描述】:

我们的 C# WebAPI 应用程序使用 ElasticSearch 数据库。我们正在使用 NEST2 来访问数据库。

代码中所有的 NEST2 查询都指定了数据库索引名称,这里是一个例子:

public TestQuery[] GetAllDocuments()
{
    var readRecords = ec.Search<TestDocument>(s => s
        .Index("my-index-name")
        .Query(q => q.
            QueryString(qs => qs.Query("*")))).Documents;

    return readRecords.ToArray();
}

有时我们忘记在查询中指定索引名称...问题不会立即显现出来,因为 API 按预期工作并且一切都很好...只有当我们添加另一个包含一些类似文档的索引时我们看到了问题

是否可以在 NEST2 初始化后一次性指定索引名称?这样做我将避免记住在每个查询中插入它的负担

【问题讨论】:

    标签: c# elasticsearch nest nest2


    【解决方案1】:

    您正在ConnectionSettings 上寻找.DefaultIndex 方法。

    var settings = new ConnectionSettings()
        .DefaultIndex("defaultindex");
    

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      你应该看看别名: Index Alias

      因此,当您有一个包含类似文档的新索引时,您可以在创建它后添加一个别名,并在索引名称的查询中指定别名。通过这种方式,您可以使用相同的名称查询 1 到多个索引。 希望能帮助到你!如果您需要更多信息,请发表评论。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-17
        • 2018-01-10
        • 2014-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多