Элементы конфигурации:
Элемент |
Описание |
Свойства |
Родительские элементы |
Дочерние элементы |
ConteqSearchConfiguration |
Корневой элемент |
- |
- |
ConteqSearchSetups |
ConteqSearchSetups |
Определяет коллекцию форм поиска |
- |
ConteqSearchConfiguration |
ConteqSearchSetup |
ConteqSearchSetup |
определяет состав формы поиска и структуру таблицы вывода результата поиска. Выбор формы (например, может быть несколько форм – по видам документов) представлен пользователю выпадающим списком имен форм. |
Name - Имя формы.
Description - Описание формы (не отображается пользователю)
|
ConteqSearchSetups |
Form, Result |
Form |
описывает состав полей формы |
- |
ConteqSearchSetup |
SearchField, SearchFieldControl |
SearchField |
скрытый элемент запроса. Участвует в запросе выводимых данных элемента |
Name - Имя запрашиваемого поля.
|
Form |
- |
SearchFieldControl |
отображаемый пользователю элемент. Вид его зависит от поля Type |
Name - Имя фильтруемого поля
DisplayName - Отображаемое пользователю имя поля
FieldType - Тип поля (Text, Hidden, FullText, Choise, OrgChartUser, Lookup, DocType, DateTime)
DefaultValue - значение по-умолчанию (для типа hidden)
Operator - оператор сравнения в запросе поиска (по-умолчанию Contains)
|
Form |
- |
Result |
Элемент описания результата запроса |
- |
ConteqSearchSetup |
ResultViewSettings |
ResultViewSettings |
Описание параметров отображения результата |
- |
Result |
FieldsOptions |
FieldsOptions |
Коллекция отображаемых пользователю полей |
- |
ResultViewSettings |
FieldOptions |
FieldOptions |
- Описание выводимых пользователю данных для каждого найденного элемента поиска. Примечание: Чтобы поле можно было выводить, его нужно запросить, указав в секции Form
|
Name - Имя столбца результата запроса
DisplayName - Отображаемый пользователю заголовок столбца
|
FieldsOptions |
- |
Типы полей (SearchFieldControl)
Тип поля |
Формат значения |
Отображаемый элемент |
Text |
Любой текст |
Текстовое поле |
Hidden |
Любой текст |
Скрытое поле |
DateTime |
|
Текстовое поле с возможностью выбора/ввода даты
|
OrgChartUser |
|
Поле с возможностью выбора пользователя |
Lookup |
|
Поле с возможностью выбора элемента подстановки
Дополнительные поля: LookupList - Url списка, из которого нужно выбрать данные, в относительном формате ("/Lists/ListName") LookupField - Подставляемое поле (internal name) из указанного списка
|
FullText (используется для полнотекстового поиска)
|
Любой текст |
Текстовое поле |
Choise |
Выпадающий список |
Поле выбора из списка Дополнительные поля: values - список возможных значений разделенных # в формате "value;displayText" (value - запрашиваемое значение, displayText - отображаемый пользователю текст), для короткой записи можно использовать только value, тогда displayText будет отображать value.
|
DocType |
|
2 взаимосвязанных выпадающих списка. В первом содержатся типы документов, во втором - виды документов. |
Если поле должно быть выведено в результатах (секция <Result>), оно должно быть и в секции <Form>. При этом, если поле не должно отображаться в наборе полей фильтрации, можно добавить его как <SearchField />, а не <SearchFieldControl />.
Использование оператора сравнения в форме поиска
Форма поиска в основном служит для фильтрации данных в Системе поиска. Фильтрация выполняется в форме сравнения с определенным значением. Например, Заголовок должен начинаться с "Договор". Иногда возникает потребность в более тонкой настройке фильтрации.
Фильтрация может быть осуществлена с условием "eq" (равен), "neq" (не равен), "lt" (меньше), "leq" (меньше или равно), "gt" (больше), "geq" (больше или равно), "contains" (содержит), "beginswith" (начинается с...).
Примеры:
•Для SharePoint 2010
Показать все элементы, заголовки которых содержат слово "Договор"
<SearchFieldControl Name="Title" FieldType="Hidden" DefaultValue="Договор" Operator="contains" />
Отобразить все элементы, созданные с начала 2013 года (включая 1е января)
<SearchFieldControl Name="CreateDate" FieldType="Hidden" DefaultValue="01.01.2013" Operator="leq"/>
Бывают случаи, когда необходимо более сложное условие фильтрации. Например, отобразить пользователю 2 вида документа. Для подобного условия следует понимать синтаксис поисковых запросов и как транслируется поисковая конфигурация в этот запрос.
Реализация условия:
<SearchFieldControl Name="DocKind" DisplayName="Вид документа" FieldType="Hidden" DefaultValue=""Входящее письмо" OR "Входящее письмо на ГД"" Operator="Contains"/>
•Для версии SharePoint начиная с 2013:
<SearchControl Name='ContentTypeName' type='hidden' operator='custom' value='or("DocSpace", "Document DocSpace", and("Sample1", "Sample2"))'/>
Данное выражение будет преобразовано в оператор запроса KQL:
ContentTypeName:or("DocSpace", "Document DocSpace", and("Sample1", "Sample2"))
Подробнее о KQL (Keyword Query Language) см. здесь.