NEST2:如何一次指定数据库索引名称

NEST2: How to specify the db index name once

我们的 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初始化后一次性指定索引名称?这样做我将避免记住在每个查询中插入它的负担

你应该看看别名: Index Alias

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

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

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

希望对您有所帮助。