NEST2: как указать имя индекса БД один раз

Наше приложение 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? Поступая таким образом, я избегаю необходимости не забывать вставлять его в каждый запрос.


person Gianluca Ghettini    schedule 31.05.2016    source источник


Ответы (2)


Вы ищете .DefaultIndex метод на ConnectionSettings.

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

Надеюсь, поможет.

person Rob    schedule 31.05.2016