Общие сведения о процессе индексирования

Завершено

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

  • Документа
    • metadata_storage_name
    • metadata_author
    • content

Если документы в источнике данных содержат изображения, можно настроить индексатор для извлечения данных изображения и поместить каждое изображение в коллекцию normalized_images следующим образом:

  • Документа
    • metadata_storage_name
    • metadata_author
    • content
    • normalized_images
      • image0
      • рисунок 1

Нормализация данных изображения таким образом позволяет использовать коллекцию изображений в качестве входных данных для навыков, которые извлекают информацию из данных изображения.

Каждый навык добавляет поля в документ, поэтому, например, навык, который определяет язык, на котором написан документ, может хранить свои выходные данные в поле language следующим образом:

  • Документа
    • metadata_storage_name
    • metadata_author
    • content
    • normalized_images
      • image0
      • рисунок 1
    • language

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

  • Документа
    • metadata_storage_name
    • metadata_author
    • content
    • normalized_images
      • image0
        • Text
      • рисунок 1
        • Text
    • language

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

  • Документа
    • metadata_storage_name
    • metadata_author
    • content
    • normalized_images
      • image0
        • Text
      • рисунок 1
        • Text
    • language
    • merged_content

Поля в окончательной структуре документа в конце конвейера сопоставляются индексатором с полями индекса одним из следующих двух способов.

  1. Все поля, извлеченные непосредственно из исходных данных, сопоставляются с полями индекса. Эти сопоставления могут быть неявными (поля автоматически сопоставляются с полями с тем же именем в индексе) или явными (сопоставление исходного поля с полем индекса часто определяется для задания полю более понятного имени или для применения функции к значению данных при сопоставлении).
  2. Поля выходных данных из навыков в наборе навыков явным образом сопоставляются из их иерархического расположения в выходных данных с целевым полем в индексе.