Im Anhangsinhalt des Wissensartikels suchen
Sie können den Anhang des Wissensartikels verwenden, um herunterladbare Dateien in Artikel der Wissensdatenbank aufzunehmen. Sie können auch Webdateien verwenden, um eine FAQ-Seite mit downloadbarem Inhalt zu erstellen.
Wichtig
Nur die Dateien, die an Wissensartikeln angefügt werden, können durchsucht werden. Die Dateien, die an Webdateien angefügt werden, sind nicht durchsuchbar.
Sie können Ihre Power Pages-Site so konfigurieren, dass Benutzer im Anhangsinhalt von Wissensdatenbankartikeln suchen können. Dies erleichtert es Benutzern, die Informationen zu finden, nach denen sie suchen.
In Wissensdatenbankartikeln werden alle Anhänge mit dem definierten Präfix indiziert.
Um die Anhänge des Wissensartikels zu indizieren, müssen Sie die folgenden Website-Einstellungen erstellen und ihren Wert auf True festlegen:
Website-Einstellung | Beschreibung |
---|---|
Suchen/IndexNotesAttachments | Gibt an, ob der Inhalt der Anhänge in Wissensdatenbankartikeln indiziert werden soll. Standardmäßig ist sie auf False gesetzt. |
KnowledgeManagement/DisplayNotes | Gibt an, ob Anhänge von Wissensdatenbankartikeln angezeigt werden sollen. Standardmäßig ist sie auf False gesetzt. |
Wenn Sie nach einem Begriff suchen, schließen die Suchergebnisse auch Anhänge mit ein. Wenn der Suchbegriff mit einem Wissensartikelanhang übereinstimmt, wird der Link zum entsprechenden Wissensdatenbankartikel ebenfalls angegeben. Um die downloadbaren Anhänge anzuzeigen, wählen Sie Downloads unter Datensatztyp im linken Bereich aus. Um die Beschriftung Downloads zu ändern, bearbeiten Sie den Inhaltsausschnitt Suche/Facette/Downloads. Der Wert ist standardmäßig auf Downloads festgelegt.
Anmerkung
Die Dataverse-Suche muss in Ihrer Umgebung aktiviert sein, um diese Funktion nutzen zu können.
Durchsuchen Sie die Anhänge von Wissensartikeln
Wenn Ihr Standort Lucene .NET Sucheverwendet, können der Website ermöglichen, Anhänge von Wissensartikeln zu durchsuchen, indem Sie die Option Anhänge von Wissensartikeln mit der Site im Dynamics 365 Customer Service Admin Center oder Kundenservicehub-App auf Ja festlegen. Sie müssen diese Option nicht konfigurieren, wenn Ihr Standort die Dataverse-Suche verwendet, Sie können standardmäßig Anhänge von Wissensartikeln durchsuchen.
Dies erlaubt der Suche, die Anhänge von Wissensartikeln zu durchsuchen und Informationen für Wissenskonsumenten leicht zugänglich zu machen. Mit dieser Anhangfunktion müssen Sie keine Notizenanlagen mehr für die Site verwenden. Anhänge von Wissensartikeln werden automatisch mit dem Anhang für Notizen synchronisiert. Weitere Informationen: Aktualisieren von Dateianlagen mit Wissensartikeln für Portal
Websitekonfiguration aktualisieren
Wenn Sie bereits eine Website vor April 2018 haben und Ihre Site auf die aktuelle Version aktualisiert haben, müssen Sie die folgenden Konfigurationen verwenden, um dieselbe Benutzererfahrung zu haben, wie bei einer neuen Installation.
Inhaltsausschnitte
Um die in den Suchergebnissen für Anmerkung und Webdateidownloads angezeigte Beschriftung zu ändern, erstellen Sie einen Inhaltsausschnitt „Suche/Facette/Downloads”, und legen Sie dessen Wert dann als erforderlich fest. Der Standardwert ist Downloads.
Webvorlagen
Die Webvorlage „Facettierte Suche – Ergebnisvorlage” wird überarbeitet, sodass Dateien, die Wissensdatenbankartikeln zugeordnet sind, als primäre Suchergebniselemente mit einem zugehörigen Artikellink angezeigt werden. Sie müssen die Webvorlage „Facettierte Suche – Ergebnisvorlage” auf die folgende Quelle aktualisieren.
{% 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> {{title}}</a>
{{else}}
<a title="{{title}}" href="{{absoluteUrl}}"><span class="glyphicon glyphicon-file" aria-hidden="true"></span> {{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> {{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> {{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%}
Website-Einstellungen
Sie müssen den Wert \_logicalname:annotation~0.9^0.25
der Website-Einstellung „Suche/Abfrage” hinzufügen. Nach dem er hinzugefügt wurde, sollte der Wert folgendermaßen sein:
+(@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
Um die Facets zu konfigurieren, damit Anmerkungen gruppiert werden, die Wissensdatenbankartikeln und Webdateien in einem einzelnen Facet zugeordnet sind, bearbeiten Sie den Website-Einstellungsname „Suche/RecordTypeFacetsEntities” und fügen Sie ;Downloads:annotation,adx_webfile
an dessen Wert an.
Um zuzulassen, dass Wissensdatenbankartikeln zugeordnete Anhänge in der Website und in den Suchergebnissen angezeigt werden, bearbeiten Sie die Website-Einstellung KnowledgeManagement/DisplayNotes und legen Sie deren Wert auf Wahr fest. Die Website-Einstellung KnowledgeManagement/NotesFilter enthält einen Präfixwert, der dem Notizentextfeld bei Notizen vorangestellt werden muss. Nur Notizen mit dem angegebenen Präfixwert werden auf der Website angezeigt. Der Standardwert ist *WEB*, aber Sie können ihn über die Website-Einstellung ändern.
Um die Indizierung von Dateianhängen zu aktivieren, die Notizen zugeordnet sind, erstellen Sie die Website-Einstellung Search/IndexNotesAttachments, und legen Sie deren Wert auf True fest.