Создайте источник контента поиска SharePoint 2010, который использует BDC через PowerShell - PullRequest
1 голос
/ 31 мая 2011

Используя powershell, как вы создаете содержимое, которое использует BDC?

Документация по Technet для New-SPEnterpriseSearchCrawlContentSource не очень ясно, как это сделать.

Пока это кажется мне наиболее разумным, но это не работает.

$searchapp = Get-SPEnterpriseSearchServiceApplication "MySearchApplication"
New-SPEnterpriseSearchCrawlContentSource -name "My BDC Content Source" -searchapplication $searchApp -Type Business -LOBSystemSet "NameOfMyBdc"

Создает источник контента типа Подключение к бизнес-данным, но указанный BDC не отмечен.

1 Ответ

1 голос
/ 02 июня 2011

Потратил много времени на это, но, наконец, получил его на работу. Это то, что сработало для меня, если у вас есть лучшее решение, пожалуйста, поделитесь.

$searchapp = Get-SPEnterpriseSearchServiceApplication "My Search Service Application Name"
$lobSystems = @("LOBSystemName1","LOBSystemInstanceName1")
$proxyGroup = Get-SPServiceApplicationProxyGroup -default
New-SPEnterpriseSearchCrawlContentSource -name "My Content Source Name" -searchapplication $searchApp -Type Business -LOBSystemSet $lobSystems -BDCApplicationProxyGroup $proxyGroup

Вы также можете сделать это с помощью API, как это. Я понятия не имею, что такое параметр Guid PartitionId метода ConstructStartAddress, но, похоже, он не работает ни с каким другим Guid.

        string strURL = "http://mySiteUrl";
        SearchContext searchContext;
        using (SPSite searchSite = new SPSite(strURL))
        {
            searchContext = SearchContext.GetContext(searchSite);
        }
        Content sspContent = new Content(searchContext);
        ContentSourceCollection sspContentSources = sspContent.ContentSources;
        BusinessDataContentSource bdcs = (BusinessDataContentSource)sspContentSources.Create(typeof(BusinessDataContentSource), "MyBdcContentSource");
        bdcs.StartAddresses.Add(BusinessDataContentSource.ConstructStartAddress("Default", new Guid("00000000-0000-0000-0000-000000000000"), "LOBSystemName", "LOBSystemInstanceName"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...