Nest Client c # 7.0 для упругого поиска, удаляющий псевдонимы - PullRequest
0 голосов
/ 08 октября 2019

Итак, с последним обновлением с Elastic Search 6, клиент C # также был обновлен. Но я не могу понять, как написать этот код по-новому с новым Client Nest 7. Мне просто нужно переписать этот код

            var indexExists = Client.IndexExists(CurrentAliasName).Exists;

        Client.Alias(aliases => {
            if (indexExists)
            {
                var oldIndices = Client.GetIndicesPointingToAlias(CurrentAliasName);
                var indexName = oldIndices.First().ToString();

                //remove alias from live index
                aliases.Remove(a => a.Alias(CurrentAliasName).Index("*"));
            }
            return aliases.Add(a => a.Alias(CurrentAliasName).Index(CurrentIndexName));
        });

1 Ответ

0 голосов
/ 09 октября 2019

API были перемещены в группы API

var client = new ElasticClient();   
var CurrentAliasName = "alias_name";
var CurrentIndexName = "index_name";

var indexExists = client.Indices.Exists(CurrentAliasName).Exists;

client.Indices.BulkAlias(aliases =>
{
    if (indexExists)
    {
        var oldIndices = client.GetIndicesPointingToAlias(CurrentAliasName);
        var indexName = oldIndices.First().ToString();

        //remove alias from live index
        aliases.Remove(a => a.Alias(CurrentAliasName).Index("*"));
    }
    return aliases.Add(a => a.Alias(CurrentAliasName).Index(CurrentIndexName));
});

Вы также можете ссылаться на пакет Nest.7xUpgradeAssistant и продолжать использовать те же методы, что и в 6.x, чтобы помочь с перемещениемдо 7.х. Вы получите предупреждения компилятора с сообщениями, указывающими, где находятся новые методы API.

...