2016-05-31 93 views
0

我们的C#的ElasticSearch数据库的WebAPI应用程序使用。我们使用NEST2来访问数据库。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初始化后指定索引的名称?这样做,我会避免的负担,记得要插入每一个查询

回答

2

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

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

希望它有帮助。

+0

的感谢!明天我会在工作中尝试... –

1

你应该别名看一看: Index Alias

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