API поиска SharePoint - PullRequest
       5

API поиска SharePoint

0 голосов
/ 07 ноября 2018

Я использую онлайн-библиотеку документов SharePoint для хранения документов. Я добавил определенные пользовательские столбцы в библиотеку документов SharePoint для хранения дополнительных метаданных для документа.

Скриншот столбцов SharePoint

Теперь я хочу выполнить полнотекстовый поиск в SharePoint через API REST. Мы можем сделать полнотекстовый поиск по данным пользовательских столбцов. Однако еще одним требованием является фильтрация результатов по определенным столбцам, таким как «ASSET TYPE = image».

Как мне добиться этой функциональности? мой текущий запрос выглядит следующим образом:

_api/search/query?querytext='(cloud computing)'&querytemplate='{searchTerms} path:"https://DOMAIN_NAME.sharepoint.com/sites/LOREM_IPSUM/Shared%20Documents" ContentTypeId:0x0* IsDocument:true'&SummaryLength=100&RowLimit=500&culture=1033&BypassResultTypes=true&EnableQueryRules=false&ProcessBestBets=false&ProcessPersonalFavorites=false&properties='EnableDynamicGroups:true'

1 Ответ

0 голосов
/ 07 ноября 2018

API поиска использует «Управляемые свойства» для настраиваемых столбцов, при создании настраиваемого свойства оно автоматически создает управляемое свойство с именем, аналогичным

INTERNALNAMEPROPERTYtype

Например, если ваш столбец «ТИП АКТИВА» имеет внутреннее имя «ASSET_TYPE» и является столбцом типа «однострочный текст», ваше Управляемое свойство будет:

ASSET_TYPEOWSTEXT

Вы также можете выполнить поиск по названию управляемого свойства, перейдя по адресу:

Конфигурация сайта >> Управление схемой поиска >> Управляемые свойства

Вы можете узнать немного больше об управляемых свойствах здесь: https://docs.microsoft.com/en-us/sharepoint/technical-reference/automatically-created-managed-properties-in-sharepoint

Теперь, учитывая, что если ваше управляемое свойство имеет имя ASSET_TYPEOWSTEXT, вы можете использовать его в своем поисковом запросе так:

ASSET_TYPEOWSTEXT=image

Ваш поисковый запрос будет выглядеть так:

_api/search/query?querytext='(cloud computing)'&querytemplate='{searchTerms} path:"https://DOMAIN_NAME.sharepoint.com/sites/LOREM_IPSUM/Shared%20Documents" ContentTypeId:0x0* IsDocument:true ASSET_TYPEOWSTEXT=image'&SummaryLength=100&RowLimit=500&culture=1033&BypassResultTypes=true&EnableQueryRules=false&ProcessBestBets=false&ProcessPersonalFavorites=false&properties='EnableDynamicGroups:true'

Я бы порекомендовал вам использовать веб-часть поиска контента для простого тестирования запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...