Nano Hash - криптовалюты, майнинг, программирование

NEST - атомарно изменить псевдоним, чтобы указать на другой индекс

Elasticsearch поддерживает атомарное переименование псевдонима, см. здесь :

Переименование псевдонима — это простая операция удаления, а затем добавления в том же API. Эта операция является атомарной, не нужно беспокоиться о коротком промежутке времени, когда псевдоним не указывает на индекс.

curl -XPOST 'http://localhost:9200/_aliases' -d '
{
    "actions" : [
        { "remove" : { "index" : "test1", "alias" : "alias1" } },
        { "add" : { "index" : "test1", "alias" : "alias2" } }
    ]
}'

С помощью NEST того же можно добиться с помощью Client.Rename.

Оказывается, также возможно атомарно обновить псевдоним, чтобы он указывал на другой индекс:

curl -XPOST 'http://localhost:9200/_aliases' -d '
{
    "actions" : [
        { "remove" : { "index" : "test1", "alias" : "alias1" } },
        { "add" : { "index" : "test2", "alias" : "alias1" } }
    ]
}'

Любой способ сделать последнее непосредственно в NEST?

Прямо сейчас я использую Client.RemoveAlias, за которым следует Client.Alias, что является не атомарным.

ОБНОВЛЕНИЕ: оказывается, это можно сделать, отправив необработанный JSON через client.Raw.IndicesUpdateAliasesPost, но мне все еще интересно, есть ли более простой способ. Если нет, я планирую добавить это в NEST самостоятельно.

20.03.2014

Ответы:


1

В настоящее время клиент NEST поддерживает эту функцию. Пожалуйста, используйте метод Client.Swap.

21.03.2014
  • д'ой... Искал что-то вроде FlipAlias. Спасибо! 21.03.2014
  • @MartijnLaarman, имеет ли смысл задокументировать это здесь? 21.03.2014
  • @Max Ааа, мне нужны некоторые перенаправления, которые я вижу в новых документах здесь: nest.azurewebsites.net /nest/indices/aliases.html . SwapAlias ​​был удален в 1.0, но я обязательно добавлю его обратно. Вызов alias() в NEST 1.0 теперь позволяет вам использовать то, к чему IndicesUpdateAliasPost привык, но с типизированным интерфейсом, кстати :) 28.03.2014
  • @MartijnLaarman Я не вижу ничего похожего на команду Swap в текущих документах. Это было заброшено? 12.10.2015
  • Атомарный обмен теперь доступен в Client.Indices.BulkAlias stackoverflow.com/a/58295057/772086. 09.04.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..