Индексы когнитивного поиска Azure из хранилища BLOB-объектов, но не удаляют разметку содержимого XML - PullRequest
0 голосов
/ 03 апреля 2020

Как сказано в заголовке, я пытаюсь индексировать XML файлы из хранилища BLOB-объектов с помощью индексатора, однако индексированные файлы по-прежнему содержат разметку XML вместо анализа и удаления тегов.

следующий XML является примером кода XML, который я пытаюсь проиндексировать:

<article xmlns="http://ournamespace.com/ns/test" xmlns:xlink="http://www.w3.org/1999/xlink">
  <title>Lorem ipsum</title>
  <section>
    <para> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. (<link xlink:href="f8c79a4d-f1f1-4d8d-ab4c-d9317754465e"> Ut enim ad minim veniam</link>).  quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</para>
      </section>
  <section>
    <title>
      <emphasis role="strong"> Duis aute irure dolor in reprehenderit in voluptate velit esse</emphasis>
    </title>
    <itemizedlist mark="square">
      <listitem>
        <para>
          <link xlink:href="d1cce80e-835f-4b37-892e-54bba282f437">cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt</link> in culpa qui officia deserunt mollit anim id est laborum. </para>
      </listitem>
    </itemizedlist>
  </section>
</article>

Я убедился, что тип содержимого большого двоичного объекта равен application/xml и что режим разбора индексатора default, поскольку я прочитал в этот вопрос , что это крайне важно для правильного анализа документа.

Это конфигурация индексатора:

{
    "@odata.context": "https://<redacted>.search.windows.net/$metadata#indexers/$entity",
    "@odata.etag": "\"0x8D7D7C7CF735BF4\"",
    "name": "azureblob-indexer",
    "description": "",
    "dataSourceName": "blob-indexer",
    "skillsetName": null,
    "targetIndexName": "<redacted>-index",
    "disabled": null,
    "schedule": null,
    "parameters": {
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration": {
            "dataToExtract": "contentAndMetadata",
            "parsingMode": "default"
        }
    },
    "fieldMappings": [
        {
            "sourceFieldName": "metadata_storage_path",
            "targetFieldName": "metadata_storage_path",
            "mappingFunction": {
                "name": "base64Encode"
            }
        },
        {
            "sourceFieldName": "Subscriptions",
            "targetFieldName": "Subscriptions",
            "mappingFunction": {
                "name": "jsonArrayToStringCollection"
            }
        }
    ],
    "outputFieldMappings": [],
    "cache": null
}

Индексированный документ отображает следующие метаданные, которые я нахожу странными, так как тип содержимого внезапно меняется с одного типа на другой. Я предполагаю, что это означает, что режим синтаксического анализа, используемый для этого документа, был text?

{
   "metadata_storage_content_type": "application/xml",
   "metadata_content_encoding": "UTF-8",
   "metadata_content_type": "text/plain; charset=UTF-8"
}

Это информация об одном из индексируемых больших двоичных объектов:

LAST MODIFIED               4/2/2020, 3:28:13 PM
CREATION TIME               4/2/2020, 3:28:13 PM
TYPE                        Block blob
SIZE                        27.94 KiB
ACCESS TIER Hot (Inferred)
ACCESS TIER LAST MODIFIED   N/A
SERVER ENCRYPTED            true
ETAG                        0x8D7D709B1C7C5D5
CONTENT-TYPE                application/xml
CONTENT-MD5                 3yeFKKcSGh/6DJawrAWaWg==
LEASE STATUS                Unlocked
LEASE STATE                 Available
LEASE DURATION              -
COPY STATUS                 -
COPY COMPLETION TIME        -

Любая помощь был бы очень признателен, и я, конечно, готов предоставить больше информации, если это необходимо. заранее спасибо!

...