Использование подключаемого модуля Elasticsearch для загрузки в приложении Angular 2 - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь использовать некоторые характеристики 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? Большое спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...