Как добавить отображение через пакет go-elasticsearch

В основном, когда я пытаюсь вставить новый документ в несуществующий индекс, он автоматически устанавливает динамическое сопоставление. Но у меня есть проблемы, когда иногда я хочу изменить тип данных полей в ES.

Я хочу установить его через мой сервис go-lang, но похоже, что пакет go-elasticsearch его не поддерживает? поправьте меня, если я ошибаюсь

Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
API ввода вопросов - это полезный инструмент для интеграции моделей машинного обучения, таких как ChatGPT, в приложения, требующие обработки...
1
0
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете создать индекс вместе с его отображением, используя go-elasticsearch/esapi go-elasticsearch/esapi.

Создайте запрос, как показано ниже:

mapping := `{
    "settings": {
        "number_of_shards": 1,
        "number_of_replicas": 1
      },
      "mappings": {
        "properties": {
          "name": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "message": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
        }
}`

// Index - pass index name
// Body - pass mapping, settings etc
indexReq := esapi.IndicesCreateRequest{
    Index: "my-index",
    Body: strings.NewReader(string(mapping)),
}

resp, err := indexReq.Do(ctx, elasticclient)
if err != nil {
    // handle error
}

таким образом вы можете создать новый индекс с определенным сопоставлением

Большое спасибо. Ты такое благословение

yssachan 10.05.2022 02:59

Всегда пожалуйста. Давайте расти, помогая друг другу

rqb 10.05.2022 08:05

Другие вопросы по теме