Търсене в съдържанието на прикачен файл на статия от базата знания
Можете да използвате прикачения файл на статията от базата знания с бележки, за да включите файлове за изтегляне в статии от базата знания. Можете също да използвате уеб файлове, за да създадете страница с често задавани въпроси (ЧЗВ) със съдържание за изтегляне.
Важно
Само файловете, които са прикачени към статии от базата знания, могат да бъдат търсени. Файловете, които са прикачени към уеб файлове, не могат да се търсят.
Можете да конфигурирате своя сайт на Power Pages, така че да позволи на потребителите на портала търсене в съдържанието на прикачения файл на статии от базата знания. Това помага на потребителите да намерят информацията, която търсят.
В статиите на базата знания прикачените файлове с дефинирани префикс се индексират.
За да се индексират прикачените файлове на статия от базата знания, трябва да създадете следните настройки на сайта и да зададете тяхната стойност на True:
Настройка на сайта | Описание |
---|---|
Search/IndexNotesAttachments | Показва дали съдържанието на прикачените файлове на статии от базата знания трябва да бъде индексирано. По подразбиране е зададено на False. |
KnowledgeManagement/DisplayNotes | Показва дали да се показват прикачените файлове на статии от базата знания. По подразбиране е зададено на False. |
Когато търсите даден термин, резултатите от търсенето включват също и прикачени файлове. Ако терминът за търсене съвпада с прикачен файл на статия на базата знания се предоставя също и връзка към съответната статия от базата знания. За да видите прикачените файлове, които могат да се изтеглят, изберете Изтегляне под Тип запис в левия прозорец. За да промените етикета Изтегляне, редактирайте фрагмента на съдържанието Search/Facet/Downloads (Търсене/Аспект/Изтегляния). По подразбиране стойността е зададена на Изтегляния.
Бележка
Търсене в Dataverse трябва да бъде активирано във вашата среда, за да използвате тази функционалност.
Търсене в прикачени файлове на статии от базата знания
Ако сайтът ви използва търсене в Lucene .NET, можете да разрешите на уеб сайта да търси в прикачените статии, като зададете опцията Синхронизиране на прикачените файлове на статии в базата знания към сайт на Да в центъра за администриране на Dynamics 365 Customer Service или в приложението Център за обслужване на клиенти. Не е необходимо да конфигурирате тази опция, ако вашият сайт използва търсене в Dataverse, ще можете да търсите чрез прикачени файлове на статии от базата знания по подразбиране.
Това позволява на функцията за търсене да прегледа прикачените файлове на статии от знания и да направи информацията леснодостъпна за потребителите на знания. С тази възможност за прикачване няма да е необходимо да използвате прикачените файлове за сайта. Прикачените файлове към статии от знания автоматично ще бъдат синхронизирани с прикачения файл с бележки. Повече информация: Актуализиране на приложенията към статиите за знания за портала
Актуализиране на конфигурациите на сайтове
Ако вече имате уеб сайт преди април 2018 и сте го актуализирали до последната версия, трябва да използвате следните конфигурации, така че потребителите да работят по същия начин като при нова инсталация.
Фрагменти на съдържание
За да промените етикета, показан в резултатите от търсенето за изтегляне на анотация и уеб файлове, създайте фрагмент на съдържание Search/Facet/Downloads (Търсене/Аспект/Изтегляния) и след това задайте стойността му според изискванията. Стойността по подразбиране е Изтегляния.
Уеб шаблони
Търсене с аспекти – Шаблон с резултати уеб шаблонът е преработен за показване на файлове, свързани със статии от базата знания като елементи на първичния резултат от търсенето със съответната връзка към статията. Трябва да актуализирате Търсене с аспекти – Шаблон с резултати уеб шаблон към следния източник:
{% 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%}
Настройки на сайт
Трябва да добавите стойността \_logicalname:annotation~0.9^0.25
към настройката на сайта Търсене/Зявка. След като това се добави, стойността трябва да бъде, както следва:
+(@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
За да конфигурирате аспектите за група анотации, свързани със статии от базата знания и уеб файлове в един аспект, редактирайте името на настройката на сайта Search/RecordTypeFacetsEntities и присвоете ;Downloads:annotation,adx_webfile
за негова стойност.
За да позволите прикачени файлове, свързани със статии от базата знания, да се показват в уеб сайта и в резултатите от търсене, редактирайте настройката на сайта KnowledgeManagement/DisplayNotes и задайте стойността на True. Настройката на сайта KnowledgeManagement/NotesFilter съдържа стойност на префикса, която трябва да бъде представка към полето за текст на бележката; в уеб страницата ще се появяват само бележки със зададената стойност на префикса. По подразбиране стойността е *WEB*, но можете да я промените чрез настройката на сайта.
За да разрешите индексирането на прикачени файлове, свързани с бележки, създайте настройката на сайта Search/IndexNotesAttachments и задайте стойността ѝ на True.