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");
希望对您有所帮助。
我们的 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");
希望对您有所帮助。