Страница 1 из 1

Полнотекстовый поиск по условию.

Добавлено: 02 сен 2016, 15:57
hydromarine
Всем доброго времени суток.
Версия otrs 5.0.12.
Пытаю реализовать задачу через планировщик.
Чтобы искал в теле письма определенные слова и менял тип заявки.
Столкнулся с проблемой что условие такого типа ("*доступ" или "*доступа") - не отрабатывает.
Как только меняю условие на (*доступ) - то тип у заявки меняется.
Может я использую неверный синтаксис?

Re: Полнотекстовый поиск по условию.

Добавлено: 06 сен 2016, 17:09
Вольха Редная
Привет, желательно конечно сделать подпись, чтобы не возникало вопросов о версии otrs,
но это на будущее, пока посмотри вот эту тему: http://otrs.ru/forum/viewtopic.php?f=5& ... %82#p16041

Re: Полнотекстовый поиск по условию.

Добавлено: 07 сен 2016, 07:59
hydromarine
Ох! Вы меня выручили.
Действительно синтаксис используется совершенно не такой как описано в примере.
Работает на ура вот с таким условием: *доступ || *доступа. Главное правильную маску подобрать под конкретные условия.
Огромное Вам спасибо!

Re: Полнотекстовый поиск по условию.

Добавлено: 07 сен 2016, 14:14
hydromarine
Все таки вопрос остается открытым, так как есть необходимость делать условие по поиску фразы.
Но какой синтаксис там используется непонятно, а точнее затык на пробеле между слов, как его задать?

Например: %предоставить%доступ% - не отрабатывает если нет одного или другого слова и это правильно, но отрабатывает если в теме сообщения фраза предоставитьдоступ будет слитна, это конечно абсурд, но все равно.

Re: Полнотекстовый поиск по условию.

Добавлено: 08 сен 2016, 06:41
bloodice
Попробуйте что то типа такого "*доступ "||"*доступа "

Re: Полнотекстовый поиск по условию.

Добавлено: 08 сен 2016, 08:15
hydromarine
Пробовал - не работает.
У нее синтаксис с одной стороны вроде бы как в запросах на sql, но все равно какой-то кривоватый местами.
В итоге делаю вот так, может кому пригодится.
Например: %предоставить%доступ% || %предоставление%доступа%
В данном примере otrs понимает что задано не одно слово, а словосочетание.
Хотя % означает вроде как любой символ, в том числе и пробел. Поэтому если написать в письме слитно "предоставитьдоступ" то отарася все равно это воспримет как то что задано в условии и естественно отработает. Именно поэтому и я ищу вариант задать конкретно пробел, а не любой символ. Разные нижние подчеркивания, кавычки, скобки, ?, уже пробовал. Ничего из этого не дает результата.

Re: Полнотекстовый поиск по условию.

Добавлено: 08 сен 2016, 11:33
paver
hydromarine писал(а):Хотя % означает вроде как любой символ
Любую комбинацию символов. По строке %предостав%дост% будут найдены и "предоставить доступ", и "предоставление неограниченного доступа", например

Re: Полнотекстовый поиск по условию.

Добавлено: 08 сен 2016, 11:48
hydromarine
paver писал(а): Любую комбинацию символов. По строке %предостав%дост% будут найдены и "предоставить доступ", и "предоставление неограниченного доступа", например
Верно, так и отрабатывает. Вот и ломаю голову как правильно задать этот пробел вместо %. Знак "?" - воспринимается отарасей тоже как набор произвольных символов почему-то.

Re: Полнотекстовый поиск по условию.

Добавлено: 08 сен 2016, 12:10
paver
"предоставить доступ" || "предоставление доступа"

Re: Полнотекстовый поиск по условию.

Добавлено: 08 сен 2016, 12:31
hydromarine
paver писал(а):"предоставить доступ" || "предоставление доступа"
Не работает, реагирует на письмо в теме которого "Предоставить неограниченный доступ".

Re: Полнотекстовый поиск по условию.

Добавлено: 09 сен 2016, 06:49
paver
hydromarine писал(а):в теме которого "Предоставить неограниченный доступ".
Полнотекст ищет не только в теме, возможно где-то в содержимом заметок заявки есть и чистый "предоставить доступ"
Сейчас специально проверил. Заявка с текстом "Поменять внутренние номера" по поисковой строке Поменять номера (без кавычек) находится, с кавычками - нет.
OTRS 4.0.12

Поэкспериментируйте сначала с одной фразой, потом с объединением.

Re: Полнотекстовый поиск по условию.

Добавлено: 09 сен 2016, 11:20
alexus
Полнотекстовый поиск ищет по темам и содержимому всех заметок тикетов, а так же по полям From To и СС.

Re: Полнотекстовый поиск по условию.

Добавлено: 17 авг 2021, 14:37
Smirnoff
alexus писал(а):
09 сен 2016, 11:20
Полнотекстовый поиск ищет по темам и содержимому всех заметок тикетов, а так же по полям From To и СС.
Сейчас столкнулся с тем, что полнотекстовый поиск не находит содержимое ТЕМЫ заметки (не тикета).
Там, в теме, URL вида "https://waveaccess.atlassian.net/browse/SERP2-1154". Не находит ни по полной фразе, ни по частичной типа "SERP2-1154". Ощущение, будто URL как-то экранирует себя от поиска. Почему?

В той же системе другой полнотекстовый поиск и поиск по Subject вполне работает. Фразы типа "неполадки при заполнении" отлично находит в сабже заметки.

Более того, ищет по URL, если перед ним есть какие-нибудь слова, типа "добрый день, сайт http://www.ya.ru не открывается" - тогда по URL он этот тикет найдет.

Re: Полнотекстовый поиск по условию.

Добавлено: 17 авг 2021, 15:45
Smirnoff
Ага. Интересно.

"https://guitarmag.net/browse" - ищется
"https://guitarmag.net/browse/" - НЕ ищется

Re: Полнотекстовый поиск по условию.

Добавлено: 17 авг 2021, 15:46
Smirnoff
"Сайт https://guitarmag.net/browse/" - ищется!
"Сайт https://guitarmag.net/browse/SERP2-1154" - НЕ ищется!

Re: Полнотекстовый поиск по условию.

Добавлено: 17 авг 2021, 16:01
Smirnoff
Временно удалил фильтры Ticket::SearchIndex::Filters - не помогло. Вернул на место.

Re: Полнотекстовый поиск по условию.

Добавлено: 17 авг 2021, 16:02
Smirnoff
Smirnoff писал(а):
17 авг 2021, 15:46
"Сайт https://guitarmag.net/browse/" - ищется!
После добавления этой строки стали находиться и записи "https://guitarmag.net/browse/" со слешем в конце.

Да, к слову, я добавляю все это как Note к тикету.

Re: Полнотекстовый поиск по условию.

Добавлено: 17 авг 2021, 16:14
Smirnoff
Ответ нащупывается с подачи alexus.
Кажется, дело в длине ссылки. Длинные (больше 30 символов) ссылки не индексируются. Короче 30 - вполне.

Итог: раздел Ticket::SearchIndex::Attribute, параметр WordLengthMax - был установлен в 30. Поменял на 60.
Остается запустить переиндексирование.