Доброго времени суток,
Дано
SharePoint Server 2010 наполненный профилями пользователей. В профилях есть дополнительные не стандартные поля.
Задача
Сделать форму поиска пользователей по профилям. При этом поиск может осуществляться как
— по некоторым стандартным полям
— так и по дополнительным не стандартным полям
Вывода результатов поиска в своем (не стандартном) дизайне.
Например:
— найти всех пользователей фамилия которых начинается на "Ивано" и в поле "department" указано "бухгалтерия".
— найти всех пользователей у которых день рождение в мае.
Подскажите пожалуйста куда смотреть, что читать для реализации такой задачи.
Сейчас вижу такие варианты:
1. В SharePoint Server 2010 есть служба "Поиск Sharepoint Server", с помощью которой можно осуществлять поиск пользователей.
Насколько я понял есть возможность искать пользователей по заданным атрибутам.
Например: department:"бухгалтерия"
1.1. Где описан язык поисковых запросов (если он существует)
И, вроде бы, можно настроить поиск и по дополнительным не стандартным полям в профилях пользователей (
SharePoint User Profile Custom Properties Keyword Search Problem,
people search: use a custom ranking model to search in added profile properties).
1.2. Можно ли взаимодействовать с сервисом поиска напрямую не через стандартную веб-часть поиска?
2. Попробовать использовать объектную модель или сервисы Sharepoint.
2.1. Какие объекты или сервисы можно использовать?
UserProfileManager есть метод Search, но с его помощью видимо нельзя построить реальный поисковой запрос. Если можно, подскажите как.
ProfileSearchManager.Search — не понятно как использовать, нет примеров.
User Profile Service Web Service — не нашел методов с помощью которых можно осуществлять поиск.
3. Делать прямые SQL запросы в базу данных портала.
Спасибо.
Здравствуйте, alexeybbb, Вы писали:
A>Доброго времени суток,
A>Дано
A>SharePoint Server 2010 наполненный профилями пользователей. В профилях есть дополнительные не стандартные поля.
A>Задача
A>Сделать форму поиска пользователей по профилям. При этом поиск может осуществляться как
A>- по некоторым стандартным полям
A>- так и по дополнительным не стандартным полям
A>Вывода результатов поиска в своем (не стандартном) дизайне.
Нужно унаследоваться от Microsoft.Office.Server.Search.WebControls.CoreResultsWebPart. Настройки для поиска по профилям можно посмотреть в search center.
Можно и не наследоваться кстати. Результаты выводятся с помощью xslt.
A>Например:
A>- найти всех пользователей фамилия которых начинается на "Ивано" и в поле "department" указано "бухгалтерия".
A>- найти всех пользователей у которых день рождение в мае.
A>Подскажите пожалуйста куда смотреть, что читать для реализации такой задачи.
SharePoint SDK и гугл.
A>Сейчас вижу такие варианты:
A>1. В SharePoint Server 2010 есть служба "Поиск Sharepoint Server", с помощью которой можно осуществлять поиск пользователей.
A>Насколько я понял есть возможность искать пользователей по заданным атрибутам.
A>Например: department:"бухгалтерия"
A>1.1. Где описан язык поисковых запросов (если он существует)
http://msdn.microsoft.com/ru-ru/library/ee556426.aspx
A>1.2. Можно ли взаимодействовать с сервисом поиска напрямую не через стандартную веб-часть поиска?
A>2. Попробовать использовать объектную модель или сервисы Sharepoint.
A>2.1. Какие объекты или сервисы можно использовать?
http://msdn.microsoft.com/ru-ru/library/microsoft.office.server.search.query.aspx
A>3. Делать прямые SQL запросы в базу данных портала.
не стоит.
A>Спасибо.
незачто