Отображение значений из пользовательских управляемых свойств в классических результатах поиска — вариант 2 в SharePoint Server
ОБЛАСТЬ ПРИМЕНЕНИЯ:2013 2016 2019 Subscription Edition SharePoint в Microsoft 365
В разделе Отображение значений из пользовательских управляемых свойств в результатах поиска — вариант 1 в SharePoint Server мы показали простой метод добавления пользовательского значка и значений из двух настраиваемых управляемых свойств в классические результаты поиска. В этой статье мы рассмотрим более полный метод изменения способа отображения классических результатов поиска, включая операторы if и выделение нажатий. В этой статье вы узнаете:
Стратегия "убить двух зайцев" применительно к результатам поиска
Во-первых, давайте изведем, чего мы хотим достичь:
отображать значения из двух настраиваемых управляемых свойств;
применять выделение совпадений к двум настраиваемым управляемым свойствам;
Получите автоматически улучшенную релевантность для классических результатов поиска.
Прежде чем начать подробно рассматривать достижение этих целей, ознакомимся со стратегией, которой необходимо следовать. Если это покажется вам немного сложным, не сдавайтесь. Надеюсь, это будет ясно к концу.
Для начала помните, как можно представлять себе выделение совпадений:
Управляемые свойства, указанные в разделе Свойства выделения соответствий (JSON) веб-части результатов поиска, и свойство "волшебной сводки" передаются в свойство HitHighlightedProperties.
Все значения свойства HitHighlightedProperties передаются в свойство HitHighlightedSummary.
Усеченная версия значений в HitHighlightedSummary отображается в веб-части результатов поиска с тремя точками в конце.
Кроме того, помните, что каждый шаблон отображения элемента содержит ссылку на шаблон отображения Item_CommonItem_Body и что этот шаблон содержит метод onlick , который автоматически улучшает релевантность в зависимости от поведения пользователя по щелчку.
Поэтому наша стратегия такова: создать в шаблоне отображения элемента переменные, которые будут переданы в шаблон отображения Item_CommonItem_Body и преобразованы им.
В частности, это означает, что необходимо выполнить следующее.
Добавьте пользовательские управляемые свойства, которые мы хотим отобразить в результатах классического поиска, в свойства, выделенные хитом в веб-части "Результаты поиска".
Добавить настраиваемые управляемые свойства в шаблон отображения элементов.
В шаблоне отображения элемента создайте переменную, которая будет использоваться свойством HitHighlightedSummary для отображения двух настраиваемых свойств с выделением нажатия.
В шаблоне отображения элемента оставьте ссылку
_#=ctx.RenderBody(ctx)=#_
, чтобы шаблон отображения Item_ComonItem_Body отображал результат поиска. Это гарантирует автоматическое повышение релевантности.
Ок, теперь давайте рассмотрим его пошаговые шаги с примерами того, как мы сделали это для нашего сценария Центра поиска.
Отображение значений из настраиваемых управляемых свойств с выделением совпадений и автоматическое повышение релевантности
Сначала необходимо найти имена управляемых свойств, соответствующие столбцам настраиваемого сайта, которые вы хотите использовать. Мы рассмотрели, как это сделать, в статье Отображение значений из пользовательских управляемых свойств в результатах поиска — вариант 1 в SharePoint Server.
Затем требуется выполнить определенную настройку веб-части результатов поиска. Эти этапы описаны ниже.
На странице Результаты поиска выберите меню Параметры , а затем — Изменить страницу.
В веб-части Результаты поиска выберите Меню >веб-частейИзменить веб-часть.
В области инструментов веб-части разверните раздел Шаблоны отображения , а затем выберите Использовать один шаблон для отображения элементов. Это позволяет изменить поле свойств, выделенных нажатием (JSON).
В поле Свойства выделения соответствий (JSON), используя следующий формат, добавьте настраиваемые управляемые свойства, в которые вы хотите добавить выделение соответствий:
"<Имя> управляемого свойства"
В нашем сценарии с центром поиска мы хотели применить выделение соответствий к управляемым свойствам СодержаниеOWSMTXT и owstaxIdТехническаятема.
Выберите Применить, чтобы сохранить изменения. Закроется раздел Шаблоны отображения .
Чтобы повторно открыть раздел, выберите Шаблоны отображения и выберите Использовать типы результатов для отображения элементов.
Нажмите кнопку ОК и сохраните страницу.
Затем необходимо добавить настраиваемые управляемые свойства в шаблон отображения элемента. Вот что следует сделать:
Откройте шаблон отображения элемента того типа результатов, для которого вы хотите настроить результаты поиска.
В нашем сценарии с центром поиска это был шаблон Контент TechNet.
В шаблоне отображения элемента в теге ManagedPropertyMapping, используя следующий синтаксис, добавьте настраиваемые управляемые свойства, которые необходимо отображать:
'<Current item property name>':<Managed property name>'
В нашем сценарии центра поиска мы хотели, чтобы значения управляемых свойств ContentSummaryOWSMTXT и owstaxIdTechnicalSubject отображались в результатах поиска. Чтобы упростить поддержку файла, мы назвали свойства текущих элементов так же, как управляемые свойства.
Затем необходимо создать в шаблоне отображения элемента переменные, которые будут использованы в шаблоне отображения Item_CommonItem_Body и преобразованы им. Сделайте следующее.
Так как у вас нет гарантии, что значения пользовательских свойств будут содержать какие-либо из введенных слов запроса, то есть выделение нажатий не будет использоваться, необходимо создать переменные, гарантирующие, что значение настраиваемых свойств будет отображаться независимо от выделения нажатия.
На следующих снимках экрана показано, как мы создали две такие переменные для пользовательских свойств ContentSummaryOWSMTXT и owstaxIdTechnicalSubject.
Кроме того, мы добавили аналогичную переменную для свойства Название. Если вы не добавите его, результаты поиска не будут отображаться.
Последнее, что необходимо сделать в шаблоне отображения элемента, — создать переменную, которая переопределит свойство HitHighlightedSummary, используемое для отображения значений.
Сохраните шаблон отображения элемента.
Примечание.
Этот шаг не требуется делать, если вы используете SharePoint в Microsoft 365. Откройте раздел Параметры сайта>Типы результатов поиска. Появится оповещение синхронизации свойств .
Это оповещение появляется, так как мы добавили управляемые свойства в шаблон отображения элемента (что мы сделали на шаге 9). Чтобы добавить в типы результатов вновь добавленные управляемые свойства, выберите Обновление.
Важно!
Без этого обновления вновь добавленные управляемые свойства не будут отображаться в ваших результатах поиска.
Когда эти изменения были внесены и пользователи вводили запрос в центре поиска, результаты включали:
Настраиваемый значок.
Значение Название с выделением совпадений.
Значение СодержаниеOWSMTXT с выделением совпадений.
Значение owstaxIdTechnicalSubject (слова запроса не совпадают со значением свойства, но из-за переменной, созданной на шаге 10, отображается значение.)
Ссылка на элемент списка.
Мы хотели внести одно небольшое изменение в способ отображения значения для owstaxIdTechnicalSubject . Мы решили предоставить пользователям немного больше контекста для этого значения. Поэтому мы решили добавить перед значением текст "Техническая тема:". Кроме того, так как это значение не всегда присутствует для всех элементов списка, мы решили, что оно должно отображаться только при наличии значения.
Чтобы сделать это, мы изменили переменную, переопределяющую свойство HitHighlightedSummary:
Обратите внимание, что мы добавили немного другой цвет в текст "Technical Subject:". Из-за этого окончательный результат поиска отображается следующим образом:
В статье Создание нового типа результата в SharePoint Server мы решили, что нам нужно шесть различных типов результатов. После создания типа результата контента TechNet и шаблона отображения эту работу было легко скопировать на другие пять типов результатов.
И вот результат:
Теперь, когда мы изменили способ отображения классических результатов поиска, следующим шагом является изменение значений, отображаемых на панели наведении указателя мыши.