Comparteix a través de


Cercar dins del contingut del fitxer adjunt de l'article de la Knowledge Base

Podeu utilitzar el fitxer adjunt de l'article de la Knowledge Base per incloure fitxers que es poden baixar a articles de la Knowledge Base. També podeu utilitzar fitxers web per crear una pàgina de preguntes freqüents amb contingut descarregable.

Important

Només es poden cercar els fitxers adjunts a articles de la knowledge base. Els fitxers adjunts a fitxers web no es poden cercar.

Podeu configurar el vostre lloc del Power Pages per permetre als usuaris cercar dins del contingut del fitxer adjunt dels articles de la Knowledge Base. Això ajuda els usuaris a trobar la informació que estan buscant.

En els articles de la Knowledge Base, s'indexen tots els fitxers adjunts amb el prefix definit.

Per indexar els fitxers adjunts d'articles de la Knowledge Base, heu de crear la configuració del lloc següent i definir els seus valors en Cert:

Configuració del lloc Descripció
Search/IndexNotesAttachments Indica si s'ha indexar el contingut dels fitxers adjunts als articles de la Knowledge Base. Per defecte, està establert en Fals.
KnowledgeManagement/DisplayNotes Indica si s'han de mostrar els fitxers adjunts d'articles de la Knowledge Base. Per defecte, està establert en Fals.

Quan cerqueu un terme, els resultats de cerca també inclouen fitxers adjunts. Si el terme de cerca coincideix amb un fitxer adjunt de notes d'un articles de la Knowledge Base, també es proporciona l'enllaç a l'article de la Knowledge Base corresponent. Per veure els fitxers adjunts que es poden descarregar, seleccioneu Descarrega a Tipus de registre a la subfinestra esquerra. Per modificar l'etiqueta Descarrega, editeu el fragment de contingut Search/Facet/Downloads. Per defecte, el valor està definit com a Descàrregues.

Nota

Cerca al Dataverse s'ha d'habilitar a l'entorn per utilitzar aquesta funcionalitat.

Cercar fitxers adjunts en articles de la Knowledge Base

Si el lloc utilitza la cerca Lucene .NET, podeu habilitar el lloc web per cercar als fitxers adjunts d'articles de la Knowledge Base. Per fer-ho, establiu l'opció Sincronitza els fitxers adjunts d'article de la Knowledge Base en al Centre d'administració del Dynamics 365 Customer Service o a l'aplicació Centre del servei d'atenció al client. No heu de configurar aquesta opció si el lloc utilitza la cerca del Dataverse. Podreu cercar per defecte els fitxers adjunts de l'article de la Knowledge Base.

Això permet que la cerca busqui als fitxers adjunts dels articles de la Knowledge Base i que la informació estigui accessible per als consumidors del coneixement. Amb aquesta funcionalitat de fitxers adjunts, no haureu d'utilitzar els fitxers adjunts de notes per al lloc. Els fitxers adjunts d'articles de la Knowledge Base se sincronitzaran automàticament amb el fitxer adjunt de notes. Més informació: Actualitzar fitxers adjunts d'articles de la Knowledge Base per al portal

Actualitzar les configuracions del lloc

Si ja teniu un lloc web anterior de l'abril de 2018 i heu actualitzat el lloc a la darrera versió, heu d'utilitzar les configuracions següents per tenir la mateixa experiència d'usuari que una instal·lació nova.

Fragments de contingut

Per modificar l'etiqueta que es mostra als resultats de la cerca per a l'anotació i la descàrrega de fitxers web, creeu un fragment de contingut de Search/Facet/Downloads i, a continuació, establiu el seu valor segons sigui necessari. Downloads el valor per defecte.

Plantilles web

La plantilla web Cerca per facetes - Plantilla de resultats es revisa per mostrar fitxers associats amb articles de la knowledge base com a elements de resultats de cerca principals amb un enllaç d'article relacionat. Heu d'actualitzar la plantilla web Cerca per facetes - Plantilla de resultats a l'origen següent:

{% 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%}

Configuració del lloc

Heu d'afegir el valor \_logicalname:annotation~0.9^0.25 a la configuració de lloc Search/Query. Quan s'afegeixi, el valor ha de ser el següent:

+(@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

Per configurar les facetes per agrupar anotacions associades amb articles de la knowledge base i fitxers web en una sola faceta, editeu el nom de configuració del lloc Search/RecordTypeFacetsEntities i afegiu ;Downloads:annotation,adx_webfile al seu valor.

Per permetre que els fitxers adjunts associats amb articles de la Knowledge Base es mostrin al lloc web i als resultats de la cerca, editeu la configuració del lloc KnowledgeManagement/DisplayNotes i establiu el valor a Cert. La configuració del lloc KnowledgeManagement/NotesFilter conté un valor de prefix que ha d'estar prefixat al camp de text de nota a les notes; només apareixeran notes amb el valor del prefix especificat a la pàgina web. Per defecte, el valor és *WEB*, però podeu canviar-lo a través de la configuració del lloc.

Per habilitar la indexació de fitxers adjunts associats amb les notes, creeu la configuració de lloc Search/IndexNotesAttachments i definiu el valor a True.