Это довольно болезненно и, вероятно, не поддерживается, но вот что вам нужно сделать, чтобы сделать UniqueId свойство для обхода / сопоставленное свойство таким образом, чтобы его можно было включить в результаты расширенного поиска ...
Во-первых, вам нужно внутренне изменить поле UniqueId в списках, которые вы хотите искать, чтобы оно больше не было скрытым и могло быть проиндексировано сканером. Вот пример кода модели объекта:
// this is the identifier for UniqueId
Guid g = new Guid("4b7403de8d9443e89f0f137a3e298126");
// we will need these for reflection in a bit
BindingFlags bf = BindingFlags.NonPublic | BindingFlags.Instance;
using (SPSite s = new SPSite("http://SharePoint/")) {
// grab the list that contains what you want indexed
// and the UniqueId field from that list
SPList l = s.RootWeb.Lists["Your Custom List/Library"];
SPField f = l.Fields[g];
// We need to call the private method SetFieldBoolValue
// to allow us to change the Hidden property to false
MethodInfo mi = f.GetType().GetMethod("SetFieldBoolValue", bf);
mi.Invoke(f, new object[] { "CanToggleHidden", true });
f.Hidden = false;
f.Update();
}
После того, как этот код был запущен (и для всех списков / библиотек, которые вы хотите охватить), вам нужно выполнить три шага в администрировании поиска общих служб:
- Выполнить полный обход.
- После завершения полного обхода перейдите к категориям свойств для обхода (обычно / ssp / admin / _layouts / schema.aspx? ConsoleView = crawledPropertiesView на вашем сервере) и убедитесь, что существует свойство с именем ows_UniqueId. Затем вам нужно создать управляемое свойство с именем UniqueId, которое сопоставляется с ows_UniqueId.
- Выполните еще один полный обход.
После завершения второго полного обхода данные должны быть заполнены в индексе, содержащем уникальный идентификатор. Вы можете открыть его в расширенном поиске, изменив основные результаты поиска:
- Открыть веб-часть для редактирования
- Развернуть «Параметры запроса результатов»
- Изменить XML для выбранных столбцов, чтобы включить ссылку на UniqueId
- Измените XSL для свойств представления данных, чтобы включить оператор для вывода уникального идентификатора
- Нажмите OK, и при необходимости опубликуйте страницу