Виджет Поиск позволяет настроить инструмент поиска для нахождения объектов, записей или местоположений на основе определенных слоев и локаторов, а также определить способ отображения результатов поиска в веб-интерфейсе. Если вы добавите в виджет несколько источников поиска, пользователи смогут выбирать, какие из них использовать для поиска. Выполнение поиска с использованием источника слоя влияет на данные в вашем приложении, так как к другим виджетам, использующим тот же слой, применяется фильтр для отображения соответствующих результатов поиска. Если вы хотите сделать результаты поиска доступными для выборки, можно задать действие. Чтобы виджет мог выделять объекты без фильтрации данных, создайте представление данных для источников данных, которые будут использоваться как источник слоя. Выполнение поиска с использованием источника локатора создает выходной источник данных, который могут использовать другие виджеты.
Для осуществления поиска пользователи вводят слово или фразу в поле поиска и нажимают Enter, затем щелкают кнопку поиска или выбирают из списка предложений, появляющегося на основе сопоставленных записей. (В списке предложений каждое сопоставленное значение отображается как элемент, поэтому, если в записи есть два поля, соответствующих поисковой фразе, эта запись отображается как два предложения.) Пользователи могут воспользоваться стрелками Вверх и Вниз для пролистывания раздела. При щелчке по предложению поисковая фраза заменяется содержимым из предложенного элемента, чтобы применить к поиску новое значение и возвратить соответствующие данные в панели результатов. Для упрощения, можно включить опцию автоматического выбора первого результата. Вы можете настроить виджет на открытие другой страницы в вашем приложении, чтобы отображать результаты в другом виджете.
Примеры
Используйте этот виджет для поддержки требований к разработке приложений, таких как:
- Вы хотите настроить опцию поиска в своем приложении, чтобы обеспечить ему большую гибкость, чем при использовании инструмента поиска, включенного в виджеты Карта, Список и Таблица. В частности, вы хотите выполнять поиск по ограниченным полям и для определенных слоев на карте, предоставить уникальный текст подсказки в поле поиска и отобразить в панели результатов значения определенных полей данных.
- Вы хотите, чтобы при выполнении поиска пользователи находили информацию из нескольких источников.
- Вы хотите отображать результаты поиска в других виджетах на другой странице вашего приложения.
Примечания по использованию
Виджет поиска поддерживает два типа источников поиска - слои и локаторы. Чтобы использовать источник локатора, добавьте сервис локатора. Вы можете использовать локаторы, указанные в настройках вашей организации или добавленные вами на панели Выбрать утилиту. Для поиска слоев выберите из векторных слоев и слоев сцены, добавленных в качестве данных в ваше приложение.
Если вы настраиваете несколько источников поиска, во время запуска пользователи могут использовать ниспадающее меню для включения и выключения отдельных источников или воспользоваться отметкой Все, чтобы включать или выключать каждый источник.
С помощью источников локатора вы можете вводить следующие типы поисковых запросов:
- Place-names
- Точки интереса
- Адреса
- UTM coordinates
- Координаты в системе координат, которую вы указываете с помощью well-known ID (WKID).
Для этого используется формат x, y: WKID. Например, -13046165.52, 4036389.847: 102100
Если вы подключите виджет Поиск и виджет Карта к одному и тому же векторному слою и включите Показывать всплывающее окно над выборкой объектов в настройках виджета Карты, всплывающие окна будут появляться при выборе записей из результатов поиска.
Методы поиска
Виджет Поиск использует различные методы для получения предложений и результатов поиска.
Виджет использует полнотекстовый поиск для получения предложений поиска для источников слоя. Полнотекстовый поиск — это эффективный метод поиска, использующий полнотекстовые индексы полей, которые разбивают записи на небольшие блоки, такие как отдельные слова. Например, представьте, что у вас есть слой почтовых отделений Соединенных Штатов с полем name, содержащим имена местоположений каждого почтового отделения. Индекс разбивает название офиса Highland Station Baltimore Post Office на пять слов, доступных для индивидуального поиска: Highland, Station, Baltimore, Post и Office. Если ввести поисковую фразу, состоящую из любой комбинации этих слов (или только из первой части любого из них), например Baltimore Office, Highland Baltimore или Stat Balt Office, то вы увидите этот офис в предложениях поиска.
Полнотекстовые индексы полей автоматически создаются для размещенных векторных слоев, когда они выбраны в качестве полей поиска для виджета Поиск, Список или Таблица, если вы являетесь владельцем размещенного векторного слоя или администратором организации. Вы также можете вручную добавить индексы к полям атрибутов на странице сведений об элементе слоя. Если есть слои без индексов и у вас нет разрешения на редактирование слоев, виджет Поиск находит предположения с помощью START WITH abc%, то есть виджет ищет записи, которые начинаются с поисковой фразы. Это менее эффективный метод поиска.
Для получения результатов поиска виджет использует CONTAIN %abc%, означающий, что поисковая фраза может находиться в любом месте записи. Например, можно ввести alt, чтобы получить в результатах поиска Baltimore, Salt Lake City и Alton.
Внимание:
Полнотекстовый поиск появился в версии Experience Builder за октябрь 2023 года и является кардинальным изменением. До этой версии виджет использовал CONTAIN %abc% для получения как предложений, так и результатов. В отличие от запросов CONTAIN %abc% полнотекстовый поиск не может найти поисковые фразы, расположенные в середине слов. В приведенном выше примере поиск по altimor или ighlan не вернет ожидаемое почтовое отделение в предложениях поиска. Подробнее о поиске объектов на картах и в приложениях.
Настройки
Виджета Поиск включает следующие настройки:
- Новый источник поиска — добавляет источники для поиска ресурсов. Выберите Источник слоя или Источник локатора и укажите следующие настройки для каждого:
- Данные - если применимо, выберите источник данных для векторного слоя, по которому вы хотите осуществлять поиск. В настройках просмотра данных вы можете применить фильтр к данным, чтобы ограничить область поиска, или отсортировать данные, чтобы отображать результаты поиска в определенном порядке.
- URL локатора — Подключение сервиса геокодирования локатора. Панель Выбрать утилиту показывает локаторы, указанные в настройках вашей организации или добавленные вами на панели Служебный сервис.
- Надпись - введите имя источника поиска. Это имя отображается в меню поиска, списке предложений и в панели результатов.
- Значок - выберите значок для источника. Этот значок отображается в списке предложений и в панели результатов поиска. Вы можете выбрать значки из галерей Общие и Стрелки, либо добавить собственный значок из файла. Щелкните кнопку Удалить, чтобы удалить неиспользуемые загруженные значки.
Примечание:
Можно выгружать следующие форматы изображений: PNG, GIF, JPG, JPEG и BMP. Чтобы сохранить оптимальную производительность, на размер каждой загрузки есть ограничение в 10МБ.
- Параметры поиска — можно установить следующие дополнительные свойства:
- Выбрать поля поиска (только для источников слоев) — выберите одно или несколько полей для поиска в слое.
- Точное совпадение (только для источников слоев) — ограничьте результаты поиска только теми записями, которые соответствуют поисковой фразе.
- Отображаемые поля - выберите одно или несколько полей для отображения в панели результатов поиска. Вы можете перетащить выбранные поля, чтобы изменить их порядок.
- Подсказка — настройте текст подсказки, которая появляется в поле поиска, когда пользователи выбирают поиск только в этом источнике.
- Включить фильтрацию при поиске источников слоев — если этот параметр включен, то, когда пользователь выполняет поиск, виджет фильтрует подключенные источники слоев по критериям поиска.
- Общие параметры поиска — можно установить следующие общие параметры поиска:
- Подсказка для нескольких источников поиска - настройте текст подсказки, которая появляется в поле поиска, когда пользователи выбирают поиск в нескольких источниках.
- Предложения поиска - определите максимальное количество предложений, которые появляются для каждого источника поиска. Вы также можете настроить следующие опции:
- Использовать текущее местоположение - включите опцию поиска предложений на основе текущего местоположения пользователя.
- Недавние поисковые запросы - отображение истории поиска в поле предложений на основе указанного максимального количества последних поисковых запросов. (Пользователи могут очистить историю поиска.)
Подсказка:
Установите Максимальное предложение на источник равным 0, чтобы отключить предложения источников поиска.
- Результаты поиска - выберите отображение панели результатов поиска или укажите ссылку на страницу вашего приложения для отображения результатов в другом виджете.
- Панель результатов - отобразите результаты поиска в панели, которая открывается под полем поиска. Вы можете задать максимальное количество результатов для каждого источника поиска и выбрать автоматический выбор первого результата.
- Задать ссылку — добавьте ссылку, чтобы открыть определенную страницу, окно или раздел в вашем приложении, или перейдите к определенному блоку или верхней части страницы для отображения актуальных результатов поиска в соответствующем виджете. Этот параметр отображается, когда Панель результатов выключена.
- Стиль – выберите стиль интерфейса для панели результатов: Классический или Компактный. В стиле Компактный есть кнопка сворачивания меньшего размера, которая появляется в нижней части панели.
- Стиль расположения — выберите пользовательский интерфейс для виджета: Квадратный, Изогнутый или Линейный.
Опции взаимодействия
Когда вы настраиваете действия с сообщениями в виджете Поиск, можно выбрать следующие триггеры, в зависимости от источника поиска.
Триггер | Исходный слой | Источник локатора |
---|---|---|
Изменения выборки записей | ||
Записи созданы | ||
Изменения фильтрации данных |
При настройке с источником локатора виджет Поиск создает выходной источник данных, который можно использовать в других виджетах. Взаимодействие с дополнительными виджетами с использованием этого же источника данных происходит с помощью добавления действий. Например, карта может автоматически отображать результаты поиска и приближаться к объектам. В настройках виджета Поиск на вкладке Действие добавьте триггер Созданные записи, выберите целевую карту и добавьте действия для Показать на карте и Приблизить к.
Чтобы выбирать на карте объект, соответствующий выбранному результату поиска, добавьте триггер Изменения выборки записей для виджета Поиск (если он настроен для использования панели результатов). Выберите целевую рабочую область, добавьте действие Выбрать записи данных и настройте его с векторным слоем для карты и полями, которые связывают данные триггера и действия. Дополнительно вы можете добавить действие Приблизить к, чтобы приблизить карту к объекту.
При настройке на работу с источником слоя, если вы хотите, чтобы карта масштабировалась или перемещалась к выбранным результатм поиска, добавьте триггер Изменения фильтрации данных, выберите целевую карту и добавьте действия Переместить к и Приблизить к.
Чтобы настроить уровень приближения для действия Приблизить к, переключите Масштаб увеличения на Пользовательский и введите желаемый масштаб.
Подсказка:
Чтобы виджет Поиск мог выделять объекты на карте без фильтрации данных, создайте представление данных для источников данных, которые будут использоваться как источник слоя.
Параметры URL
В подразделах ниже описаны связанные с поиском параметры URL. Можно использовать настройки в разделе Управление статусом URL, чтобы эти параметры появлялись в URL-адресе, когда пользователь выполняет поиск. Параметры виджета поиска следуют за хэш-метками (#).
Показать вводимые данные поиска
Параметр searchText показывает, какой текст ввел пользователь для выполнения поиска. Ниже приведен пример URL-адреса с параметром searchText:
https://experience.arcgis.com/experience/<AppId>#<searchWidgetID>=search_status:%7B"searchText"%3A"<text>"%7D
Показать источник поиска
Когда пользователь выполняет поиск, используя только некоторые из доступных источников поиска, в URL-адресе появляется один из двух следующих параметров:
- Если хотя бы один источник поиска не отмечен в раскрывающемся меню виджета во время запуска, появляется параметр serviceEnabledList, определяющий, какие источники поиска отмечены. Этот параметр скрыт, когда отмечены все источники поиска. Ниже приведен пример закодированного URL-адреса:
https://experience.arcgis.com/experience/<AppId>#<searchWidgetID>=search_status:%7B"serviceEnabledList"%3A%5B"<SourceID1>"%2C"<SourceID2>"%5D%7D
- Если пользователь нажимает на предложение поиска, чтобы применить поиск, появляется параметр "status":{"configId":"<SourceID>"}, определяющий уникальный источник поиска, используемый в текущем поиске. В URL-адресе появляются как вводимые данные поиска, так и источник поиска. Ниже приведен пример закодированного URL-адреса:
https://experience.arcgis.com/experience/<AppId>#<searchWidgetID>=search_status:%7B"searchText"%3A"<text>"%2C"status"%3A%7B"configId"%3A"<SourceID>"%7D%7D
Если пользователь нажимает на предложение поиска из источника локатора, в URL-адресе отображается magicKey, связанная с этим предложением. magicKey - это уникальный идентификатор, который связывает предположение конкретным адресом или местом. Ниже приведен пример свойств и параметров поиска, записанных в формате JSON:{
"searchText": "<text>",
"status":{
"configId": "<SourceID>",
"magicKey": "<key>"
}
}
Ниже приведен пример тех же свойств и параметров, что и выше, записанных в закодированном URL-адресе:https://experience.arcgis.com/experience/<AppId>#<searchWidgetID>=search_status:%7B"searchText"%3A"<text>"%2C"status"%3A%7B"configId"%3A"<SourceID>"%2C"magicKey"%3A"<key>"%7D%7D