Как добавить дополнительные настройки при индексировании в aws elasticsearch с помощью node.js

Я добавлю дополнительные настройки в функцию client.index. Вот что я пробовал.

return client
    .index({
      index: indexName,
      type: "file",
      id: bucketName + "/" + fileKey,
      body: {
        title: fileName,
        content: contentString,
        fileKey: fileKey,
        bucketName: bucketName,
        updated: Date.now(),
        type: fileType,
      },
    })

Как я могу поместить детали анализа в это? Вот это я поставлю.

{
   settings: {
      analysis: {
         analyze: {
             tokenizer: "icu-tokenizer"
         }
      }
   }
}

В итоге это должно выглядеть так:

{
    "ghej": {
        "aliases": {},
        "mappings": {},
        "settings": {
            "index": {
                "number_of_shards": "5",
                "provided_name": "ghej",
                "creation_date": "1592239308694",
                "analysis": {
                    "analyzer": {
                        "content": {
                            "type": "custom",
                            "tokenizer": "icu_tokenizer"
                        }
                    }
                },
                "number_of_replicas": "1",
                "uuid": "1yX6z-eARdyNakJwM6Z3ow",
                "version": {
                    "created": "7010199"
                }
            }
        }
    }
}

Любая помощь будет оценена по достоинству.


person U_M    schedule 15.06.2020    source источник


Ответы (1)


Свойство "settings" должно находиться внутри свойства "body".

В теле нужно указать параметры анализатора/токенизатора и текст, по которому должен выполняться анализ

Вы можете обратиться к этой официальной документации

returnclient.index({
  index: indexName,
  type: "file",
  id: bucketName+"/"+fileKey,
  body: {
    "settings": {
      "analysis": {
        "analyzer": {
          "my_icu_analyzer": {
            "tokenizer": "icu_tokenizer"
          }
        }
      }
    }
  }

})

Вы можете обратиться к этим блогам и ответить, чтобы узнать больше

Elasticsearch Analyzer

Индивидуальный анализатор

Интеграция Elasticsearch с Node.js

person ESCoder    schedule 16.06.2020
comment
@U_M, у вас была возможность просмотреть мой ответ, с нетерпением жду ваших отзывов, и если это полезно, пожалуйста, не забудьте проголосовать и принять :) - person ESCoder; 17.06.2020