Найти тему
Блог о системе IPS Search

Ограничение поиска в два символа или как SQL-запросы могут расширить возможности поиска IPS Search.

В системе IPS Search до 7 версии всегда была проблема с поиском объектов, когда поисковый запрос содержал 2 символа.

При подобных поисках система выдавала ошибку, что искомые слова не должны содержать меньше 3 символов.

Пользователи мучались, обращались в ТП, где им не давали решения.

В IPS 8 конечно исправили это недоразумение. Настройка этого исправления происходит через параметры IPS.

-2

Однако и в 7 версии системы есть определенная возможность обойти этот запрет. И это SQL запросы в строке поиска.

Такие SQL-запросы могут иметь сложную синтаксическую формулу, а также определенные операнды типа WHERE и т.д.

Система понимает такие SQL запросы, если вначале поискового запроса поставить знак ? . Далее уже описываете вашу синтаксическую формулу.

Пример моего поиска по двум символам будет выглядеть следующим образом:

?[Обозначение] LIKE 'АМ%' . Фактически описание данного запроса следующее: Обозначение начинается со строки АМ.

-3

Пример более сложного запроса с использованием двух условий:

?[Обозначение] LIKE 'АМ%' AND [Обозначение] LIKE '%55%'. Фактические описание: Обозначение начинается со слова АМ и содержит строку 55.

Подобный запрос также отработался корректно.

-4

У SQL запросов в IPS есть определенные ограничения:

При составлении запросов нужно учитывать следующие особенности и ограничения:

  • В запросах нельзя ссылаться на многозначные атрибуты.
  • В атрибутах комплексных типов (ссылки на объекты, вещественные числа в единицах измерения и пр.) поиск идет по строковой составляющей атрибута.
  • IPS хранит даты со временем в UTC (всемирное координированное время), что нужно учитывать при поиске по атрибутам типа Дата.
  • В текстовых полях для поиска доступны только первые 450 символов.
  • Имена атрибутов в запросе не зависят от регистра.
  • При составлении подзапросов к другим таблицам используйте макроподстановку {0}, чтобы сослаться на таблицу объектов, из которой будет выбирать данные построитель запросов IPS.

Если статья была полезной- не забываем ставить лайки)

Для связи используйте контакты,

Газизулин Александр

ООО "АМКАД"

Telegram-канал для пользователей IPS

8-800-3333-205

gam@amcad.ru