Контрольные поля, показываемые в умном поиске – отличная возможность предугадать действия пользователя и предварительно сконфигурировать настройки ключевых индексов поиска, чтобы ускорить процесс построения новых диаграмм по данному запросу. Так, начиная с версии Qlik Sense 3.1, можно назначить поисковый индекс, еще во время загрузки, используя системную переменную CreateSearchIndexOnReload. Преимущество создания файлов индекса поиска в ходе повторной загрузки данных заключается в устранении периода ожидания, с которым сталкивается первый пользователь, выполняющий поиск. В этой статье рассмотрим, что такое интеллектуальный поиск в Qlik Sense и, как управлять поисковыми индексами в скрипте загрузки данных Qlik Sense.

НА ЗАМЕТКУ! Данная переменная определяет, будут ли создаваться файлы поискового индекса в ходе повторной загрузки данных. Необходимо учесть то, что создание индекса поиска приводит к увеличению продолжительности повторной загрузки данных. В случае пропуска данной переменной файлы индекса поиска в ходе повторной загрузки данных создаваться не будут.

Интеллектуальный поиск Qlik Sense: управление полями

Умный поиск позволяет пользователям искать измерения и значения, которые находятся внутри модели данных. Часто бывает так, что необходимо исключить некоторые значения из глобального поиска. Именно поэтому в Qlik встроена возможность выбора отображаемых полей в умном поиске.

Вот пример использования интеллектуального поиска в действии, когда был выполнен поиск по индексу Роб в приложении по продажам:

1.png

 

Это значение было найдено в следующих полях:

•   Имя

•   Имя продавца

•   Название компании

•   Имя контакта

Итак, давайте рассмотрим ситуацию, когда мы хотим исключить из интеллектуального поиска поиск по полю “ContactName”. Это можно получить с помощью исключающего условия в выражении поиска в вашем скрипте.

Выражение для команд поиска

Поисковое выражение – функция скрипта, которая используется для включения или исключения полей в интеллектуальном поиске.

Оно содержит два условия – включение и исключение индекса:

Синтаксис:

  • Search Include *fieldlist
  • Search Exclude *fieldlist

В нашем случае нам нужно исключить поле ContactName из результатов поиска по приложению. Для этого открываем редактор загрузки данных и пишем следующее выражение после набора выражений SET:

Search exclude ContactName;

2.png

 

….и выполняем перезагрузку скрипта.

Выполняем повторный поиск по тому же индексу — Роб:

3.png

Итак, у нас больше нет поля по контактному имени.

НА ЗАМЕТКУ! Если вам нужно исключить несколько полей из поиска, то просто перечислите поля, которые хотите исключить через запятую с верным названием полей.

Search exclude field1,field2,field3; 

Также другой пример, когда нам нужно исключить какие-то данные из поиска, например, мы хотим исключить поля с ID из интеллектуального поиска.

Для этого в редакторе скрипта загрузки данных нужно добавить следующее выражение:

4.png

 

А именно:

  • Search Exclude ‘*ID’;
  • Так, мы исключим все поля, которые заканчиваются ID из поиска в интеллектуальном поиске.
  • Search Include CustomerID;
  • Так, мы включим CustomerID в поисковые запросы интеллектуального поиска.

Как работать с поисковым индексом во время загрузки

Для того чтобы включить поисковый индекс во время загрузки данных, нужно выполнить следующие действия:

  1. Задайте нужные настройки QMC в работе движка через меню работы с движком.
  2. Исправьте узел, с которым хотите работать.
  3. В продвинутом меню настроек включить создание поискового индекса во время перезагрузки.

ww.png

 

Затем в приложении, во время работы со скриптом загрузки данных необходимо добавить системную переменную Set CreateSearchIndexOnReload=1.

Выражение Set CreateSearchIndexOnReload=0 позволяет пользователю отложить создание поискового индекса во время поиска.

xx.png

Почему нужно создавать переменную во время перезагрузки

Создание поискового индекса во время загрузки позволяет подготовить его к использованию сразу, а пользователю не нужно будет ждать его создания, что значительно ускорить работу интеллектуального поиска Qlik Sense.

На этом все на сегодня. Отличных вам Qlik-разработок!