Я пытаюсь использовать некоторые характеристики Elasticsearch в приложении Angular 2, такие как загрузка файлов PDF для извлечения их данных и добавления их в службу Elasticsearch. Я использую пакет Elasticsearch NPM, и он работает нормально, когда я пытаюсь создать индекс и добавить к нему документы, но я хочу использовать плагин ingest-attachment, чтобы добавить содержимое файла в мой сервис.
Итак, код для добавления документа в индекс выглядит так:
this.elastic.addToIndex({
index: "testdocs",
type: 'doc',
id: this.id,
body: {
data : datos
}
}).then((result) => {
console.log(result);
alert('Success');
this.id = this.id + 1;
}, error => {
alert('Fail :)');
console.error(error);
});
Но как мне сделать первый запрос в процессе загрузки, где я должен добавить информацию в конвейер? Я пытался сделать что-то вроде этого:
this.elastic.addToIndex({
index: "_ingest",
type: 'pipeline',
id: "attachment",
body: {
description : "Tipo " + this.file.type + " | " + this.file.name,
processors : [
{
attachment : {
field : "data",
properties : [ "content", "title", "name", "author", "keywords", "date", "content_type", "content_length", "language"]
}
}
]
}
[...]
Но все, что я получаю, это ошибка 400 вроде этого:
"type": "invalid_index_name_exception",
"reason": "Invalid index name [_ingest], must not start with \u0027_\u0027, \u0027-\u0027, or \u0027+\u0027",
"index_uuid": "_na_",
"index": "_ingest"
Есть ли способ использовать этот плагин ingest в Angular 2?
Большое спасибо:)