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

Настройка not_analyzed для всех строк в экземпляре Elastic Search, управляемом AWS, у меня не работает

Я удалил все данные, удалил свой индекс и выполнил следующую команду после проверки отсутствия других шаблонов:

curl -XPUT https://search-xxxx.us-east-1.es.amazonaws.com/_template/all -d '
{
"template": "*",
    "settings": {
        "index.refresh_interval": "5s"
    },
    "mappings": {
        "_default_": {
            "dynamic_templates": [
                {
                    "string_fields": {
                        "match": "*",
                        "match_mapping_type": "string",
                        "mapping": {
                            "index": "not_analyzed",
                            "omit_norms": true,
                            "type": "string"
                        }
                    }
                }
            ],
            "properties": {
                "@version": {
                    "type": "string",
                    "index": "not_analyzed"
                }
            }
        }
    }
    }
'

Затем я продолжил добавлять некоторые документы и ожидал, что строковые поля не будут проанализированы, но все равно получаю то же поведение: предупреждение от кибаны при выполнении визуализации о том, что поле анализируется (следовательно, разделяется), поэтому результаты искажаются (что они явно есть).

Выполнение следующего перед добавлением любых данных успешно добавило инструкцию индекса «not_analyzed» к свойству oneFieldThatCould, поэтому это работает в случае одного свойства, но мне нужно, чтобы это было общим правилом для всех динамически добавляемых свойств:

curl -XPUT https://search-xxxx.us-east-1.es.amazonaws.com/production/_mapping/events -d '
{
      "properties": {
        "oneFieldThatCould": {
          "index": "not_analyzed",
          "type": "string"
        }
    }
}
'

  • Этот шаблон идеален и работает как надо. Имейте в виду, однако, что если индекс создается с явным указанием некоторых индексированных свойств, они не будут перезаписаны как not_analyzed. Может ли это быть причиной путаницы? 24.02.2016
  • нет, все свойства динамические, и я удалил все свои данные. что-то еще не так, только не могу понять что. 24.02.2016

Ответы:


1

Это, наконец, сработало, я удалил индекс и тип, все шаблоны и все данные, и теперь все строки создаются с отключенным анализом. Не уверен, что есть большая разница между тем, что я пробовал раньше, и этим кодом, но теперь он работает, так что спорить не буду :)

curl -XPUT https://search-xxxxx.us-east-1.es.amazonaws.com/_template/all -d '
{
    "template":   "*", 
  "settings": {}, 
  "mappings": {
    "_default_": {
      "dynamic_templates": [
        {
          "strings": { 
            "match_mapping_type": "string",
            "mapping": {
              "type": "string",
              "index": "not_analyzed"
            }
          }
        }
      ]
    }
  }
}
'
24.02.2016
Новые материалы

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

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

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

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

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

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

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