Описание XML-формата конфигурации поисковых запросов

Элементы конфигурации:

Элемент

Описание

Свойства

Родительские элементы

Дочерние элементы

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="&quot;Входящее письмо&quot; OR &quot;Входящее письмо на ГД&quot;" 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) см. здесь.