Как выполнить множественный поиск из одного списка сайтов в другой список сайтов в SharePoint 2010?

У меня есть список, определенный на сайте SharePoint, например. Список стран.

На другом сайте у меня есть список, в котором должен быть столбец с множественным поиском в приведенном выше списке стран. (Так что эти 2 сайта являются отдельными сайтами)

Как это можно настроить в SharePoint 2010?

Спасибо,


person The Light    schedule 08.05.2012    source источник


Ответы (1)


Это возможно, но требует некоторого программирования или сценариев, поскольку поле межсайтового поиска нельзя настроить с помощью веб-интерфейса. Код PowerShell должен быть следующим:

$web1 = Get-SPWeb "http://site/web1"
$web2 = Get-SPWeb "http://site/web2"
$list = $web1.Lists["Мой список" ]
$lookupList = $web2.Lists["Мой список поиска"]
$list.Fields.AddLookup("MyCrosssiteLookup", $lookupList.ID, $web2.ID, $false)
$lookupField = list.Fields.GetFieldByInternalName(InternalName)
$lookupField.Title = "Мой межсайтовый поиск"
$lookupField.Update()

В качестве альтернативы вы можете использовать тип поля LookupWithPicker, он имеет веб-интерфейс для настройки межсайтового поиска: http://ilovesharepoint.codeplex.com/releases/view/44989.

person Ivan Vagunin    schedule 08.05.2012
comment
спасибо Иван. похоже, что инструмент LookupWithPicker поддерживает поиск между сайтами, когда эти сайты существуют в одном семействе сайтов. Что делать, если сайты находятся в отдельных семействах сайтов? - person The Light; 14.05.2012
comment
Данные внутри семейства веб-сайтов изолированы по дизайну, поэтому теперь есть готовый метод запроса данных из другого семейства веб-сайтов (стандартный поиск и поиск с помощью средства выбора также не позволяют это делать). Таким образом, вы должны разработать свой собственный код для этого. - person Ivan Vagunin; 16.05.2012
comment
Если вы хотите, чтобы данные были доступны для всего семейства веб-сайтов, вы можете использовать службу управляемых метаданных SharePoint. - person Ivan Vagunin; 16.05.2012