Отображение значений из пользовательских управляемых свойств в классических результатах поиска — вариант 1 в SharePoint Server
ОБЛАСТЬ ПРИМЕНЕНИЯ:2013
2016
2019
Subscription Edition
SharePoint в Microsoft 365
Разделы этой статьи:
Как отобразить пользовательский значок
В статье Общие сведения о том, как отображаются результаты поиска в SharePoint Server , мы объяснили, как значки Word, PDF и Excel отображаются для классических результатов поиска. В нашем примере использования центра поиска мы добавили пользовательский значок к каждому результату поиска, относящемуся к недавно созданному типу результатов контента TechNet:
TN
Чтобы отобразить пользовательский значок для классических результатов поиска, сделайте следующее:
Добавьте пользовательский значок в библиотеку SharePoint Server.
В нашем примере использования центра поиска мы добавили пользовательский значок в библиотеку Фотографии.
Откройте шаблон отображения элемента, на который ссылается тот тип результатов, для которого вы хотите отобразить пользовательский значок.
В нашем примере мы также удалили оператор if: if (ctx.CurrentItem.IsContainer).
На странице поиска введите запрос, по которому отобразится новый тип результатов.
В нашем сценарии Центра поиска мы ввели "тип результата". Результаты поиска, которые являются публикациями TechNet, теперь имеют настраиваемый значок рядом с ними. Отлично!
Теперь пользователи нашего центра поиска могут легко отличить результаты поиска с сайта TechNet. Но мы еще хотели добавить информацию из пользовательских столбцов сайта, чтобы любой мог видеть важную информацию о результате поиска, не нажимая на него.
В разделе Общие сведения о том, как результаты поиска отображаются в SharePoint Server , мы объяснили, что столбцы сайта "преобразуются" в управляемые свойства во время обхода контента. Мы также объяснили, что в результатах поиска могут отображаться только управляемые свойства, перечисленные в шаблоне отображения элементов. Поэтому для отображения пользовательской информации в результатах поиска необходимо добавить управляемые свойства в шаблон отображения элемента. Поэтому следующее, что необходимо сделать, — найти имя управляемого свойства, соответствующее столбцу пользовательского сайта, который вы хотите использовать.
Как найти имя управляемого свойства
Прежде чем приступить к поиску имени управляемого свойства, важно знать немного о соглашении об именовании для управляемых свойств. Дополнительные сведения об этом см. в статье Соглашение об именовании автоматически извлеченных при обходе свойств и управляемых свойств.
В зависимости от вашего уровня разрешений поиск управляемых свойств можно выполнить в трех местах.
Уровень разрешений | Где выполняется поиск |
---|---|
Администратор приложения службы поиска |
Центр администрирования --> Управляемое приложение службы --> Приложение службы поиска --> Схема поиска |
Администратор семейства веб-сайтов |
Параметры сайта --> Схема поиска (в разделе "Администрирование семейства веб-сайтов") |
Владелец семейства веб-сайтов |
Параметры сайта --> Схема (в разделе "Поиск") |
Вот что следует сделать:
Перейдите в раздел Параметры сайта>Схема поиска.
На странице Управляемые свойства в поле Управляемое свойство введите имя столбца сайта, для которого требуется найти имя управляемого свойства. Помните, что имена управляемых свойств не имеют пробелов. Поэтому, если в имени столбца сайта есть пробел, уберите его.
В примере использования центра поиска мы хотели найти имя управляемого свойства для столбца сайта Содержание. Мы ввели ContentSummary в поле Управляемое свойство и выбрали значок зеленой стрелки.
Был возвращен один результат поиска: СодержаниеOWSMTXT.
Так как столбец сайта Содержание — это столбец типа Многострочный текст, мы получили имя того управляемого свойства, которое мы хотели использовать.
Повторите предыдущие шаги, чтобы найти все имена управляемых свойств, которые нужно отобразить в результатах поиска.
Теперь, когда вы узнали имена управляемых свойств, которые вы хотите показывать в результатах поиска, следующим шагом будет изменение шаблона отображения элемента
Как изменить шаблон отображения элемента, чтобы отображались значения пользовательских управляемых свойств. Способ 1
В статье Общие сведения о том, как отображаются результаты поиска в SharePoint Server , мы упоминали, что существует несколько способов изменить шаблон отображения элемента для отображения значений из пользовательских управляемых свойств. Способ, описанный в этой статье, очень простой. Второй способ мы обсудим в следующей статье. В нем не используются if-операторы и не применяется выделение совпадений.
Вот что следует сделать:
Откройте шаблон отображения элемента того типа результатов, для которого вы хотите настроить результаты поиска.
В нашем сценарии с центром поиска это был шаблон Контент TechNet.
В шаблоне отображения элемента в теге ManagedPropertyMapping, используя следующий синтаксис, добавьте настраиваемые управляемые свойства, которые необходимо отображать:
'<Current item property name>':<Managed property name>'
В нашем сценарии центра поиска мы хотели, чтобы значения управляемых свойств ContentSummaryOWSMTXT и owstaxIdTechnicalSubject отображались в результатах поиска. Чтобы упростить поддержку файла, мы назвали свойства текущих элементов так же, как управляемые свойства.
- Во втором теге <div> в <body> для добавления кода, который отобразит значение вашего управляемого свойства, используйте такой синтаксис:
_#= ctx.CurrentItem.<Current item property name> =#
В нашем примере мы добавили в шаблон отображения элемента следующее:
<div>_#= ctx.CurrentItem. ContentSummaryOWSMTXT =#_</div>
<div>_#= ctx.CurrentItem. owstaxIdTechnicalSubject =#></div>
Сохраните шаблон отображения элемента.
Примечание.
Этот шаг не требуется делать, если вы используете SharePoint в Microsoft 365. Откройте раздел Параметры сайта>Типы результатов поиска. Появится оповещение синхронизации свойств .
Это оповещение отобразилось, так как мы добавили управляемые свойства в шаблон отображения элемента (шаг 2). Чтобы обновить типы результатов только что добавленными управляемыми свойствами, выберите Обновить.
Важно!
Если этого не сделать, добавленные управляемые свойства не будут отображаться в результатах поиска.
После внесения этого изменения, когда пользователи ввели запрос в центре поиска, в результатах поиска появляется значение ContentSummaryOWSMTXT и значение owstaxIdTechnicalSubject .
Несмотря на то, что в результатах поиска появились два пользовательских свойства, результат был не совсем правильным. Скажем, нужно отобразить эти свойства между именем и ссылкой, а не под ссылкой, как сейчас.
Чтобы лучше понять, почему результаты поиска отобразились именно так, давайте подробней рассмотрим пользовательский шаблон отображения элементов.
ctx.CurrentItem.csr_Icon
указывает на расположение пользовательского значка. Эта переменная используется шаблоном отображения Item_CommonItem_Body._#=ctx.RenderBody(ctx)=#_
вызывает шаблон отображения Item_CommonItem_Body . (Помните , как работают шаблоны отображения элементов и выделения нажатий в SharePoint Server. Шаблон отображения Item_CommonItem_Body отображает пользовательский значок, заголовок и ссылку на элемент.)_#= ctx.CurrentItem.ContentSummaryOWSMTXT =#_
и_#= ctx.CurrentItem.owstaxIdTechnicalSubject =#_
отображают значения двух управляемых свойств : ContentSummaryOWSMTXT и owstaxIdTechnicalSubject.
Чтобы отобразить настраиваемые свойства между заголовком и ссылкой, можно вывести шаблон отображения Item_CommonItem_Body из игры, удалив ссылку _#=ctx.RenderBody(ctx)=#_
из пользовательского шаблона отображения. Потом вы можете добавить свойства в том порядке, в котором хотите, чтобы они отображались, например, так:
Результат поиска в этом случае будет выглядеть так:
Поработав над стилем отображения, можно добиться достаточно хорошего результата. Но при удалении ссылки на _#=ctx.RenderBody(ctx)=#_
шаблон отображения Item_CommonItem_Body больше не используется для отображения результатов. Шаблон отображения Item_CommonItem_Body содержит некоторые функции, которые автоматически повышают релевантность классических результатов поиска. Поэтому, прежде чем удалить ссылку на _#=ctx.RenderBody(ctx)=#_
, подумайте, выгодно ли автоматическое повышение релевантности результатов для пользователей сайта поиска.
Отслеживание по щелчку и автоматическое повышение релевантности
Шаблон отображения Item_CommonItem_Body содержит метод onlick, отслеживающий данные по щелчку. Это отслеживание влияет на релевантность классических результатов поиска. Например, результат, по которому пользователи щелкают чаще, автоматически будет отображаться выше других.
Важно!
Если вы хотите, чтобы классические результаты поиска получали автоматически улучшенную релевантность на основе поведения пользователей, не удаляйте ссылку на _#=ctx.RenderBody(ctx)=#_
из шаблона отображения элемента.
В следующей статье мы объясним, как сохранить эту ссылку, отобразить настраиваемые свойства между заголовком и ссылкой в классических результатах поиска, а также применить выделение нажатий к пользовательским свойствам.