Sdílet prostřednictvím


Vyhledávání v obsahu přílohy článku znalostní báze

Přílohu článku znalostní báze můžete použít k zahrnutí souborů ke stažení do článků znalostní báze. Můžete také použít webové soubory k vytvoření stránky často kladených dotazů s obsahem ke stažení.

Důležité

Pouze soubory, které jsou připojeny k článkům znalostní databáze, lze vyhledávat. Soubory, které jsou připojeny k webovým souborům, nelze prohledávat.

Můžete nakonfigurovat svůj web Power Pages tak, aby umožňoval uživatelům vyhledávat v obsahu příloh článků znalostní báze. To pomáhá uživatelům najít informace, které hledají.

V článcích znalostní báze jsou indexovány všechny přílohy s definovanou předponou.

Chcete-li indexovat přílohy článku znalostní báze, musíte vytvořit následující nastavení webu a nastavit jejich hodnotu na True:

Nastavení webu Popis
Search/IndexNotesAttachments Označuje, zda má být indexován obsah příloh v článcích znalostní báze. Ve výchozím nastavení je nastavena možnost False.
KnowledgeManagement/DisplayNotes Označuje, zda zobrazit přílohy článků znalostní báze. Ve výchozím nastavení je nastavena možnost False.

Při hledání termínu budou výsledky hledání zahrnovat i přílohy. Pokud hledaný termín odpovídá příloze článku znalostní báze, bude poskytnut rovněž odkaz na odpovídající článek znalostní báze. Chcete-li zobrazit přílohy ke stažení, vyberte Soubory ke stažení pod položkou Typ záznamu v levém podokně. Chcete-li změnit popisek Soubory ke stažení, upravte fragment kódu obsahu Search/Facet/Downloads. Ve výchozím nastavení je hodnota nastavena na Soubory ke stažení.

Poznámka:

Vyhledávání Dataverse pro použití této funkce musí být ve vašem prostředí zapnuto.

Vyhledávání v přílohách článků znalostní báze

Pokud web používá vyhledávání Lucene .NET, vyhledávání v přílohách znalostních článků na webu aktivujete nastavením možnosti Synchronizovat přílohy znalostních článků s webem na Ano v centru pro správu Dynamics 365 Customer Service nebo aplikaci Centrum služeb zákazníkům. Pokud web používá vyhledávání Dataverse, nemusíte tuto možnost konfigurovat. Ve výchozím nastavení budete moci prohledávat přílohy znalostních článků.

To umožňuje vyhledávání prohledávat přílohy znalostních článků a snadno zpřístupnit informace spotřebitelům znalostí. S touto schopností příloh nebudete muset používat přílohy poznámek pro web. Přílohy znalostních článků budou automaticky synchronizovány s přílohou poznámek. Další informace: Aktualizace příloh článků znalostní báze na portálu

Aktualizace konfigurací webu

Pokud jste již měli web před dubnem 2018 a provedli jste upgrade na nejnovější verzi, musíte použít následující konfigurace, abyste měli stejné uživatelské rozhraní, které nabízí nová instalace.

Fragmenty kódu obsahu

Chcete-li změnit popisek zobrazený ve výsledcích hledání pro stahování webových souborů a poznámek, vytvořte fragment kódu obsahu Search/Facet/Downloads a podle potřeby nastavte jeho hodnotu. Výchozí hodnota je Soubory ke stažení.

Šablony webů

Webová šablona Fasetové hledání - výsledky je revidována pro zobrazení souborů přidružených k článkům znalostní báze jako primárních položek výsledků hledání se souvisejícím odkazem na článek. Je nutné aktualizovat webovou šablonu Fasetové hledání - výsledky na následující zdroje:

{% assign openTag = '{{' %}
{% assign closingTag = '}}' %}
{%raw%}
  <script id="search-view-results" type="text/x-handlebars-template">
    {{#if items}}
      <div class="page-header">
        <h2>{%endraw%}{{openTag}} stringFormat "{{ resx.Search_Results_Format_String }}" firstResultNumber lastResultNumber itemCount {{closingTag}}{%raw%}
          <em class="querytext">{{{query}}}</em>
          {{#if isResetVisible}}
            <a class="btn btn-default btn-sm facet-clear-all" role="button" title="{%endraw%}{{ snippets['Search/Facet/ClearConstraints'] | default: res['Search_Filter_Clear_All'] }}{%raw%}" tabIndex="0">{%endraw%}{{ snippets['Search/Facet/ClearConstraints'] | default: res['Search_Filter_Clear_All'] }}{%raw%}</a>
          {{/if}}
        </h2>
      </div>
      <ul>
        {{#each items}}
          <li>
            <h3><a title="{{title}}" href="{{url}}">{{#if parent}}<span class="glyphicon glyphicon-file pull-left text-muted" aria-hidden="true"></span>{{/if}}{{title}}</a></h3>
            <p class="fragment">{{{fragment}}}</p>
            {{#if parent}}
              <p class="small related-article">{%endraw%}{{ resx.Related_Article }}{%raw%}: <a title="{{parent.title}}" href="{{parent.absoluteUrl}}">{{parent.title}}</a></p>
            {{/if}}
            <ul class="note-group small list-unstyled">
            {{#if relatedNotes}}
              {{#each relatedNotes}}
                <li class="note-item">
                  {{#if isImage}}
                    <a target="_blank" title="{{title}}" href="{{absoluteUrl}}"><span class="glyphicon glyphicon-file" aria-hidden="true"></span>&nbsp;{{title}}</a>
                  {{else}}
                    <a title="{{title}}" href="{{absoluteUrl}}"><span class="glyphicon glyphicon-file" aria-hidden="true"></span>&nbsp;{{title}}</a>
                  {{/if}}
                  <p class="fragment text-muted">{{{fragment}}}</p>
                </li>
              {{/each}}
            {{/if}}
            {{#if relatedAttachments}}
              {{#each relatedAttachments}}
                <li class="note-item">
                  {{#if isImage}}
                    <a id="kbattachment-{{entityID}}" href="javascript:downloadKbAttachmentFile('kbattachment-{{entityID}}', '{{title}}', {{fileSize}}, '{{fileType}}', '{{downloadBlockUrl}}', '{{initializeDownloadUrl}}')"><span class="glyphicon glyphicon-file" aria-hidden="true"></span>&nbsp;{{title}}</a>
                  {{else}}
                    <a id="kbattachment-{{entityID}}" title="{{title}}" href="javascript:downloadKbAttachmentFile('kbattachment-{{entityID}}', '{{title}}', {{fileSize}}, '{{fileType}}', '{{downloadBlockUrl}}', '{{initializeDownloadUrl}}')"><span class="glyphicon glyphicon-file" aria-hidden="true"></span>&nbsp;{{title}}</a>
                  {{/if}}
                  <p class="fragment text-muted">{{{fragment}}}</p>
                </li>
              {{/each}}
            {{/if}}
            </ul>
          </li>
        {{/each}}
      </ul>
    {{else}}
      <h2>{%endraw%}{{ resx.Search_No_Results_Found }}{%raw%}<em class="querytext">{{{query}}}</em>
        {{#if isResetVisible}}
          <a class="btn btn-default btn-sm facet-clear-all" role="button" title="{%endraw%}{{ snippets['Search/Facet/ClearConstraints'] | default: res['Search_Filter_Clear_All'] }}{%raw%}" tabIndex="0">{%endraw%}{{ snippets['Search/Facet/ClearConstraints'] | default: res['Search_Filter_Clear_All'] }}{%raw%}</a>
        {{/if}}
      </h2>
   {{/if}}
  </script>
  <script type="text/javascript">
    function downloadKbAttachmentFile(attachmentElementId, fileName, fileSize, mimeType, downloadBlockUrl, initializeUrl) {
      // Download block API supports max 4MB block size
      const blockSizeInBytes = 4096 * 1024;
      const totalNumberOfBlocks = parseInt(fileSize / blockSizeInBytes + 1);
      var fileContinuationToken = "";
      var contentString = "";
      var numberOfBlocksDownloaded = 0;
      var blockNumberToContentMap = {};
      function downloadBlockCallback(i, result) {
        numberOfBlocksDownloaded++;
        blockNumberToContentMap[i] = result;
        if (numberOfBlocksDownloaded == totalNumberOfBlocks) {
          for (var j = 0; j < totalNumberOfBlocks; j++) {
            contentString += blockNumberToContentMap[j];
          }
          var isImage = mimeType.startsWith('image/');
          const attachmentElement = document.getElementById(attachmentElementId);
          if (isImage) {
            const bodyByteString = atob(contentString);
            const bodyBuffer = new ArrayBuffer(bodyByteString.length);
            const bodyView = new Uint8Array(bodyBuffer);
            for (var k = 0; k < bodyByteString.length; k++) {
              bodyView[k] = bodyByteString.charCodeAt(k);
            }
            var imageUrl = URL.createObjectURL(new Blob([bodyBuffer], { type: mimeType }));
            attachmentElement.href = imageUrl;
            attachmentElement.target = "_blank";
          }
          else {
            const linkSource = 'data:' + mimeType + ';base64,' + contentString;
            attachmentElement.href = linkSource;
            attachmentElement.download = fileName;
          }
          attachmentElement.click();
        }
      }
      shell.ajaxSafePost({
        type: 'GET',
        url: initializeUrl,
        success: function (result) {
          fileContinuationToken = encodeURIComponent(result);
          for (var i = 0; i < totalNumberOfBlocks; i++) {
            url = downloadBlockUrl + "&blockNumber=" + i + "&fileContinuationToken=" + fileContinuationToken + "&blockSize=" + blockSizeInBytes;
            var x = downloadBlockCallback.bind(this,i);
            shell.ajaxSafePost({
              type: 'GET',
              url: url,
              success: (result) => { x(result) }
            });
          }
        }
      });
    }
  </script>
{%endraw%}

Nastavení webu

Je nutné přidat hodnotu \_logicalname:annotation~0.9^0.25 do nastavení webu Search/Query. Po přidání by měla být hodnota následující:

+(@Query) \_title:(@Query) \_logicalname:knowledgearticle~0.9^0.3 \_logicalname:annotation~0.9^0.25 \_logicalname:adx_webpage~0.9^0.2 -\_logicalname:adx_webfile~0.9 adx_partialurl:(@Query) \_logicalname:adx_blogpost~0.9^0.1 -\_logicalname:adx_communityforumthread~0.9

Chcete-li konfigurovat omezující vlastnosti pro seskupení poznámek přidružených k článkům znalostní báze a webovým souborům do jedné omezující vlastnosti, upravte nastavení webu Search/RecordTypeFacetsEntities a připojte ;Downloads:annotation,adx_webfile k jeho hodnotě.

Chcete-li povolit, aby se přílohy přidružené k článkům znalostní databáze zobrazovaly na webu a ve výsledcích hledání, upravte nastavení webu KnowledgeManagement/DisplayNotes a nastavte jeho hodnotu na True. Nastavení webu KnowledgeManagement/NotesFilter obsahuje hodnotu předpony, kterou je třeba přidat před textové pole poznámky. Na webu se zobrazí pouze poznámky se zadanou hodnotou předpony. Výchozí hodnota je *WEB*, ale můžete ji změnit pomocí nastavení webu.

Chcete-li povolit indexování souborů jako příloh přiložených k poznámkám, vytvořte nastavení webu Search/IndexNotesAttachments a nastavte jeho hodnotu na True.