Udostępnij za pośrednictwem


Wyszukiwanie w treści załącznika do artykułu wiedzy

Możesz użyć załącznika artykułu wiedzy, aby dołączyć pliki do pobrania do artykułów bazy wiedzy. Można również użyć plików sieci Web, aby utworzyć stronę Często zadawane pytania z zawartością do pobrania.

Ważne

Można przeszukiwać tylko pliki, które są dołączane do artykułów merytorycznych. Pliki, które są dołączone do plików sieci Web nie mogą być przeszukiwane.

Można skonfigurować witrynę Power Pages, aby umożliwić użytkownikom wyszukiwanie w zawartości załączników do artykułów merytorycznych. Umożliwia to użytkownikom znajdowanie potrzebnych informacji.

W artykułach bazy wiedzy indeksowany jest każdy załącznik ze zdefiniowanym prefiksem.

Aby indeksować załączniki artykułów wiedzy, należy utworzyć następujące ustawienia witryny i ustawić ich wartość na Prawda:

Ustawienie witryny Opis
Search/IndexNotesAttachments Wskazuje, czy treść załączników w artykułach bazy wiedzy powinna być indeksowana. Domyślnie ustawiono na False.
KnowledgeManagement/DisplayNotes Wskazuje, czy wyświetlać załączniki artykułów bazy wiedzy. Domyślnie ustawiono na False.

Podczas wyszukiwania terminu wyniki wyszukiwania również zawierają załączniki. Jeśli wyszukiwane hasło pasuje do załącznika artykułu wiedzy, podawany jest również link do odpowiedniego artykułu bazy wiedzy. Aby wyświetlić załączniki do pobrania, wybierz Pliki do pobrania w obszarze Typu rekordu w lewym okienku. Aby zmodyfikować etykietę Pliki do pobrania, edytuj fragment zawartości Wyszukiwanie/Aspekt/Pliki do pobrania. Domyślnie wartość ta została ustawiona na Pliki do pobrania.

Uwaga

Wyszukiwanie Dataverse musi być włączone w środowisku, aby można było używać tej funkcji.

Przeszukiwanie załączników do artykułów merytorycznych

Jeśli Twoja witryna korzysta z wyszukiwania platformy Lucene .NET, możesz umożliwić witrynie internetowej przeszukiwanie załączników do artykułów merytorycznych, ustawiając opcję Synchronizacja załączników do artykułów merytorycznych do witryny na Tak w centrum administracyjnym rozwiązania Dynamics 365 Customer Service lub aplikacji Centrum obsługi klienta. Nie trzeba konfigurować tej opcji, jeśli witryna korzysta z wyszukiwania Dataverse, więc domyślnie można przeszukiwać załączniki do artykułów merytorycznych.

Dzięki temu wyszukiwanie może przeglądać załączniki artykułów wiedzy i sprawiać, że informacje są łatwo dostępne dla konsumentów wiedzy. Dzięki tej możliwości dołączania nie będziesz musiał korzystać z załączników notatek dla witryny. Załączniki do artykułów wiedzy będą automatycznie synchronizowane z załącznikami do notatek. Więcej informacji: Zaktualizuj załączniki artykułów merytorycznych dla portalu

Konfiguracje aktualizowania witryny

Jeśli witryna należała do Ciebie wcześniej niż w kwietniu 2018 r. i została uaktualniona do najnowszej wersji, musisz użyć następujących konfiguracji, aby mieć taką samą funkcjonalność, jak użytkownik nowej instalacji portalu.

Wstawki zawartości

Aby zmodyfikować etykietę wyświetlaną w wynikach wyszukiwania dotyczących adnotacji i przeznaczonych do pobierania plików sieci Web, utwórz fragment zawartości Wyszukiwanie/Aspekt/Pliki do pobrania, a następnie ustaw jej wartość zgodnie z wymaganiami. Wartość domyślna to Pliki do pobrania.

Szablony sieci Web

Wyszukiwanie fasetkowe — szablon sieci Web Szablon wyników jest poprawiany, aby wyświetlał pliki skojarzone z artykułami w bazie wiedzy jako podstawowe elementy wyniku wyszukiwania z łączem do pokrewnego artykułu. Należy zaktualizować wyszukiwanie fasetkowe — szablon sieci web Szablon wyników do następujących źródła:

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

Ustawienia witryny

Należy dodać wartość \_logicalname:annotation~0.9^0.25 do ustawienia witryny Wyszukiwanie/Zapytanie. Po dodaniu, wartość powinna wyglądać w następujący sposób:

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

Aby skonfigurować aspekty dla grup adnotacji związanych z artykułami z bazy wiedzy oraz plikami sieci Web w jednym aspekcie, edytuj nazwę ustawienia witryny Wyszukiwanie/RecordTypeFacetsEntities i dołącz ;Downloads:annotation,adx_webfile do jego wartości.

Aby umożliwić pojawianie się załączników skojarzonych z artykułami merytorycznymi w witrynie internetowej i wynikach wyszukiwania, edytuj ustawienie witryny KnowledgeManagement/DisplayNotes i ustaw jego wartość na True (Prawda). Ustawienie witryny KnowledgeManagement/NotesFilter zawiera wartość prefiksu, która musi poprzedzać pole tekstu notatki na notatkach; tylko notatki o określonej wartości prefiksu będą widoczne na stronie internetowej. Domyślnie wartość ta to *WEB*, ale można ją zmienić za pomocą ustawienia witryny.

Aby włączyć indeksowania załączników plików skojarzone z notatkami, utwórz ustawienie witryny Search/IndexNotesAttachments i ustaw wartość na Prawda.