Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация
iconfalse
Корневой элемент beans. Пространство имен: <beans lxmlns="http://www.springframework.org/schema/beans">
Информация
iconfalse
titleКраткое описание

В настройках поиска указывается конфигурация, в которой задаются атрибуты applicationContext-config-search.xml задаются параметры поиска, конфигация формы поиска, алгоритм обработки результатов и их вывод

Свойства страницы
Разбить на подстраницы
Статус

Статус
colourYellowGreen
titleВ РАБОТЕГОТОВО

Комментарий



Описание взаимодействия конфигураций в настройке поиска

Image Added

панель

Оглавление

Настройка соответствия «поисковый параметр - > поле/формула/форма документа»

Данная настройка используется при формировании полнотекстового запроса к Domino БД. Настройка задается в бинах наследниках класса ru.intertrust.cmj.af.search.dp.request.DominoRequestConfig. id бина задается по правилу: «dominoRequestConfig»+ключ модуля (см. 3) в 3.2.4). Например, dominoRequestConfigInputDocs :

Блок кода
languagexml
<!-- Конфигурация параметров запроса (ВхД) -->
<bean id="dominoRequestConfigInputDocs" parent="dominoRequestConfigSuper">
	<!-- Отображение ID параметров запроса на поля notes документа -->
	<property name="nsFieldsByParamByBundleID">
		<map merge="true">
			<entry key="rkk#regDate" value="rdate" />
			<entry key="rkk#docDate" value="outdate" />
			<entry key="rkk#correspondent" value="UserFrom#From" />
			<entry key="rkk#docNumber" value="OutNumber" />
			<entry key="rkk#corrExecutor" value="Mast" /> 
		</map>
	</property>
	<!-- Отображение ID бандла на имя формы notes документа -->
	<property name="formsByBundleID">
		<map merge="true">
			<entry key="rkk" value="Input" />
			<entry key="mainDoc" value="Input" />
		</map>
	</property>
</bean>
В конструктор бина передаются параметры:
  1. <property name="nsFieldsByParamByBundleID"> - карта соответствий «параметр-> notes-поле». Ключ элемента карты имеет формат: id бандла# id параметра. Например, key="rkk#regDate". Значение элемента карты в простом случае представляет собой имя соотв. Notes-поля, которое участвует в формировании строки поиска в Domino. Например, value="rdate". Далее рассмотрим следующие случаи:
    1. Параметр с типом vcard (сотрудник) и в Domino идет поиск не только по открытому имени сотрудника, но и по названию организации сотрудника. В этом случае в поисковом запросе нужно указать два поля – поле, в котором хранится имя сотрудника, и поле с названием организации. Оба поля передаются в формате: поле сотрудника # поле организации. Например, value="UserFrom#From". Запрос по параметру будет выглядеть следующим образом:
      ([UserFrom]="Петров В. А." AND [From]="Руднев-Шиляев")).
    2. Случай, когда для одного параметра необходимо выполнить поиск по двум полям. В данном случае в поисковом запросе используется оператор ИЛИ. Оба поля передаются в формате: поле1% поле2. Например,
      value="Executor%execpeoples#ORGANISATIONNAME".
      Запрос по параметру будет выглядеть следующим образом:
      (([Executor]=" Петров В. А." OR ([execpeoples]=" Петров В. А." AND [ORGANISATIONNAME]="Руднев-Шиляев"))).
  2. property name="nsFieldsByParamByBundleID"> - карта соответствий «параметр-> формула». Ключ элемента карты имеет такой же формат, который описан в п. 1). Значение элемента карты представляет собой выражение для FT-запроса. Например, <entry key="rkk#isControl" value="[ExtContr_Flag]="1"" />. К общему запросу данное выражение добавляется через оператор AND.
  3. <property name="formsByBundleID">- карта соответствий «id бандла-> имя notes-формы, соответствующей бандлу». Например, <entry key="rkk" value="Input" />.

Хардкод

К сожалению, не для всех параметров поисковой формы можно задать соответствия из п.3.2.6 в xml-файле поиска. К таким параметрам относится, например, параметр Тематика Ркк ОГ (fullQuestion), значение которого представляет собой элемент многоуровневого тематического классификатора. В таких случаях необходимо реализовать специальную обработку параметра. Например, см. класс ru.intertrust.cmj.af.search.dp.request.DominoRequestBuilderImpl, функция String getFormulaSearchFullQuestion(Map<?, ?> mapObject).
Также допускается хардкод для задачи формирования атрибутов результирующей коллекции. Например, см. классы наследники класса ModuleExtractorImpl. 

Актуализация xml-файл поиска из настройки

Для кастомизации настроек поиска была разработана альтернативная загрузка настроек поиска из внешнего файла. Файл хранится в клиенте Системного администратора\Структура системы\Настройка web-поиска.

Переиндексация модуля

Блок кода
languagesql
select fdr.id from F_DP_IntRkk natural join f_dp_rkkbase fdr join ss_module ss_module on fdr.module = ss_module.id and ss_module.id_type = fdr.module_type join ss_moduletype ss_moduletype on ss_module.type = ss_moduletype.id and ss_moduletype.alias ='{Module}'

Тип параметра

Список типов параметра

Видимость параметра

Свойство, позволяющее настраивать видимость поля в зависимости от значения другого поля

Классификаторы

Настройка «Классификатор параметра» позволяет задать для параметра на форме расширенного поиска возможность выбора значений из справочника. Классификатор определяется в xml-файле поиска. Связь параметра с классификатором задается в в настройке бина параметра.

Параметр поиска

Конфигурация параметров запроса

Бандл

Для каждой области поиска свой набор искомых объектов иначе бандлов (определение бандла см. ниже), для каждого бандла определен свой набор параметров. Один бандл может входить в несколько областей поиска. Один параметр может входить в несколько бандлов. При выборе более одной областей поиска система формирует пересечение бандлов этих областей для отображения в разделе «Искомый объект», т.е. используются общие бандлы. Набор параметров также формируется как пересечение параметров бандлов различных областей поиска. Например, в областях поиска соответствующих БД "ОРД" и "Поручения", может быть общий набор параметров, характерных бандлу "резолюция", входящего в обе эти области поиска. Пользователь имеет возможность выбрать такой набор, и в результаты должны попасть только объекты соответствующего класса из всех выбранных областей, исключив при этом объекты других классов.

ID-бандла

Список id-бандла

Иерархия билдеров областей поиска

Организует билдеры неиерархических областей поиска в иерархию для создания иерархии областей поиска.

Поисковик

Поисковик выполняет поиск по приложению средствами Solr

Параметры сортировки

Настройка параметров сортировки

Форма поиска

Подключение форм поиск к иерархии билдеров областей поиска

Настройка поиска формы

Настройка однострочного поиска в шапке

Отображение результатов

Настройка отображения результатов поиска