Контрольные поля, показываемые в умном поиске – отличная возможность предугадать действия пользователя и предварительно сконфигурировать настройки ключевых индексов поиска, чтобы ускорить процесс построения новых диаграмм по данному запросу. Так, начиная с версии Qlik Sense 3.1, можно назначить поисковый индекс, еще во время загрузки, используя системную переменную CreateSearchIndexOnReload. Преимущество создания файлов индекса поиска в ходе повторной загрузки данных заключается в устранении периода ожидания, с которым сталкивается первый пользователь, выполняющий поиск. В этой статье рассмотрим, что такое интеллектуальный поиск в Qlik Sense и, как управлять поисковыми индексами в скрипте загрузки данных Qlik Sense.
НА ЗАМЕТКУ! Данная переменная определяет, будут ли создаваться файлы поискового индекса в ходе повторной загрузки данных. Необходимо учесть то, что создание индекса поиска приводит к увеличению продолжительности повторной загрузки данных. В случае пропуска данной переменной файлы индекса поиска в ходе повторной загрузки данных создаваться не будут.
Интеллектуальный поиск Qlik Sense: управление полями
Умный поиск позволяет пользователям искать измерения и значения, которые находятся внутри модели данных. Часто бывает так, что необходимо исключить некоторые значения из глобального поиска. Именно поэтому в Qlik встроена возможность выбора отображаемых полей в умном поиске.
Вот пример использования интеллектуального поиска в действии, когда был выполнен поиск по индексу Роб в приложении по продажам:
Это значение было найдено в следующих полях:
• Имя
• Имя продавца
• Название компании
• Имя контакта
Итак, давайте рассмотрим ситуацию, когда мы хотим исключить из интеллектуального поиска поиск по полю “ContactName”. Это можно получить с помощью исключающего условия в выражении поиска в вашем скрипте.
Выражение для команд поиска
Поисковое выражение – функция скрипта, которая используется для включения или исключения полей в интеллектуальном поиске.
Оно содержит два условия – включение и исключение индекса:
Синтаксис:
- Search Include *fieldlist
- Search Exclude *fieldlist
В нашем случае нам нужно исключить поле ContactName из результатов поиска по приложению. Для этого открываем редактор загрузки данных и пишем следующее выражение после набора выражений SET:
Search exclude ContactName;
….и выполняем перезагрузку скрипта.
Выполняем повторный поиск по тому же индексу — Роб:
Итак, у нас больше нет поля по контактному имени.
НА ЗАМЕТКУ! Если вам нужно исключить несколько полей из поиска, то просто перечислите поля, которые хотите исключить через запятую с верным названием полей.
Search exclude field1,field2,field3;
Также другой пример, когда нам нужно исключить какие-то данные из поиска, например, мы хотим исключить поля с ID из интеллектуального поиска.
Для этого в редакторе скрипта загрузки данных нужно добавить следующее выражение:
А именно:
- Search Exclude ‘*ID’;
- Так, мы исключим все поля, которые заканчиваются ID из поиска в интеллектуальном поиске.
- Search Include CustomerID;
- Так, мы включим CustomerID в поисковые запросы интеллектуального поиска.
Как работать с поисковым индексом во время загрузки
Для того чтобы включить поисковый индекс во время загрузки данных, нужно выполнить следующие действия:
- Задайте нужные настройки QMC в работе движка через меню работы с движком.
- Исправьте узел, с которым хотите работать.
- В продвинутом меню настроек включить создание поискового индекса во время перезагрузки.
Затем в приложении, во время работы со скриптом загрузки данных необходимо добавить системную переменную Set CreateSearchIndexOnReload=1.
Выражение Set CreateSearchIndexOnReload=0 позволяет пользователю отложить создание поискового индекса во время поиска.
Почему нужно создавать переменную во время перезагрузки
Создание поискового индекса во время загрузки позволяет подготовить его к использованию сразу, а пользователю не нужно будет ждать его создания, что значительно ускорить работу интеллектуального поиска Qlik Sense.
На этом все на сегодня. Отличных вам Qlik-разработок!
Свежие комментарии