В поле Текст указываю информацию для поиска (телефон или расчетный счет). В одном случае находит тикиты по указанной информации, что содержится в теле тикита. В другом случае нет.
Подскажите почему.
Какие вообще условия полнотекстового поиска?
Чем отличается RuntimeDB от StaticDB. Я так понял, что на больших БД необходимо использовать последнее, так как скорость поиска увеличивается на 50% так как создаются индексы.
Версия OTRS 2.4.9.
Полнотекстовый поиск
Модератор: ykolesnikov
-
- OTRS Бывалый
- Сообщения: 310
- Зарегистрирован: 25 окт 2012, 15:06
- Откуда: Воронеж
- Поблагодарили: 2 раза
Re: Полнотекстовый поиск
Кто нибудь изучал вопрос поиска в OTRS, действительно ли он ПОЛНОТЕКСТОВЫЙ или обычный LIKE ?
Меня интересует поиск по словосочетаниям, поддержка морфологии и синонимов.
Версия OTRS 3.1.6
Меня интересует поиск по словосочетаниям, поддержка морфологии и синонимов.
Версия OTRS 3.1.6
Меркушов Виктор, perl программист
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Полнотекстовый поиск
Что значит "действительно ПОЛНОТЕКСТОВЫЙ"? http://ru.wikipedia.org/wiki/%D0%9F%D0% ... 1%81%D0%BA.
В OTRS полнотексовый поиск идет по совпадению слова или фразы (можно использовать *) в ТЕКСТЕ темы или тела заметок внутри тикета.
Морфология и синонимы - вы это серьезно ?
В OTRS полнотексовый поиск идет по совпадению слова или фразы (можно использовать *) в ТЕКСТЕ темы или тела заметок внутри тикета.
Морфология и синонимы - вы это серьезно ?
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Бывалый
- Сообщения: 310
- Зарегистрирован: 25 окт 2012, 15:06
- Откуда: Воронеж
- Поблагодарили: 2 раза
Re: Полнотекстовый поиск
Да, я это серьёзно! ...про релевантность ещё забыл. Моё определение полнотекстового поиска ближе к англоязычной статье википедии http://en.wikipedia.org/wiki/Full_text_search
На дворе 2013 год, а в системе претендующей на мировое господство до сих пор поиск идёт по точному совпадению с поддержкой звёздочки как единственного wildcard'а. Это никуда не годится!
Мне интересен опыт пользователей по поиску тикетов и вопросов/ответов в уже налаженной системе. Кто-нибудь вообще поиском пользуется?
На дворе 2013 год, а в системе претендующей на мировое господство до сих пор поиск идёт по точному совпадению с поддержкой звёздочки как единственного wildcard'а. Это никуда не годится!
Мне интересен опыт пользователей по поиску тикетов и вопросов/ответов в уже налаженной системе. Кто-нибудь вообще поиском пользуется?
Меркушов Виктор, perl программист
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Полнотекстовый поиск
Все-таки это не система управления контентом и требования к ней несколько ниже в части полнотекстового поиска. Полнотекстовый поиск - это только вспомогательная функция для продуктов такого класса, и даже мировые лидеры вряд ли могут похвастаться морфологией и релевантностью в базовом варианте.
Другая сторона вопроса - "критикуешь? Предлагай!" Мы готовы попробовать реализовать любое здравое и конструктивное предложение.
Что касается использования поиска, то основной фишкой на мой взгляд является возможность создания шаблонов поиска. Это позволяет фактически создавать динамические представления тикетов в дополнение к дашборду и просмотрам очередей, статусов и эскалаций.
А так поиском конечно пользуемся и других обучаем.
Другая сторона вопроса - "критикуешь? Предлагай!" Мы готовы попробовать реализовать любое здравое и конструктивное предложение.
Что касается использования поиска, то основной фишкой на мой взгляд является возможность создания шаблонов поиска. Это позволяет фактически создавать динамические представления тикетов в дополнение к дашборду и просмотрам очередей, статусов и эскалаций.
А так поиском конечно пользуемся и других обучаем.
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Бывалый
- Сообщения: 310
- Зарегистрирован: 25 окт 2012, 15:06
- Откуда: Воронеж
- Поблагодарили: 2 раза
Re: Полнотекстовый поиск
"Не согласен - критикуй, критикуешь - предлагай, предлагаешь - делай, делаешь - отвечай!" - хороший девиз. Реализовать я и сам могу. Мне нужен фидбэк и ещё мозг того кто разбирается чтобы посоветоваться.
Покопался в исходниках и вот что выяснил. Поиск в OTRS представляет собой обычный LIKE без учёта регистра. Довольно медленный на больших объёмах и глупый. Но зато универсальный для всего зоопарка поддерживаемых БД.
Для поиска тикетов выдумано два режима RuntimeDB и StaticDB. Первый ищет по "живым таблицам". Второй режим включает поиск по специальной таблице article_search в которую скриптом bin/otrs.RebuildFulltextIndex.pl вносятся данные для поиска с небольшой обработкой (выкидывают маленькие слова и стоп-слова по захардкоженому в модуле списку).
Настройка режимов тут Core::FulltextSearch
Альтернатив несколько, но все со значительными доработками:
1. Полнотекстовый поиск PostgreSQL и MySQL пишут что есть поддержка релевантности, морфологии, синонимов. Но говорят что медленнее LIKE http://habrahabr.ru/post/25646/
2. Внешний движок полнотекстового поиска вроде Sphinx http://sphinxsearch.com/ или Lucene. ИМХО лучше Sphinx потому как субъективно лучше и отечественная разработка. Есть всё что нужно и к тому же очень быстрый поиск и индексация.
Покопался в исходниках и вот что выяснил. Поиск в OTRS представляет собой обычный LIKE без учёта регистра. Довольно медленный на больших объёмах и глупый. Но зато универсальный для всего зоопарка поддерживаемых БД.
Код: Выделить всё
-- пример запроса для поиска по тикетам
SELECT DISTINCT st.id, st.tn, st.create_time_unix FROM ticket st INNER JOIN queue sq ON sq.id = st.queue_id INNER JOIN article art ON st.id = art.ticket_id WHERE 1=1 AND (((LOWER(art.a_cc) LIKE LOWER('%\xd0\xbe\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0%') ) ) OR ((LOWER(art.a_subject) LIKE LOWER('%\xd0\xbe\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0%') ) ) OR ((LOWER(art.a_to) LIKE LOWER('%\xd0\xbe\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0%') ) ) OR ((LOWER(art.a_body) LIKE LOWER('%\xd0\xbe\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0%') ) ) OR ((LOWER(art.a_from) LIKE LOWER('%\xd0\xbe\xd1\x88\xd0\xb8\xd0\xb1\xd0\xba\xd0\xb0%') ) )) ORDER BY st.create_time_unix DESC
-- пример поиска по FAQ
SELECT i.id, count( v.item_id ) as votes, avg( v.rate ) as vrate FROM faq_item i LEFT JOIN faq_voting v ON v.item_id = i.id LEFT JOIN faq_state s ON s.id = i.state_id WHERE ((LOWER(i.f_number) LIKE LOWER('%\xd0\xb7\xd0\xb0\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xba\xd0\xb0%') OR LOWER(i.f_subject) LIKE LOWER('%\xd0\xb7\xd0\xb0\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xba\xd0\xb0%') OR LOWER(i.f_keywords) LIKE LOWER('%\xd0\xb7\xd0\xb0\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xba\xd0\xb0%') OR LOWER(i.f_field1) LIKE LOWER('%\xd0\xb7\xd0\xb0\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xba\xd0\xb0%') OR LOWER(i.f_field2) LIKE LOWER('%\xd0\xb7\xd0\xb0\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xba\xd0\xb0%') OR LOWER(i.f_field3) LIKE LOWER('%\xd0\xb7\xd0\xb0\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xba\xd0\xb0%') OR LOWER(i.f_field6) LIKE LOWER('%\xd0\xb7\xd0\xb0\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xba\xd0\xb0%') ) ) AND s.type_id IN (1, 3, 2) GROUP BY i.id, i.f_subject, i.f_language_id, i.created, i.changed, s.name, v.item_id ORDER BY i.id DESC
Настройка режимов тут Core::FulltextSearch
Альтернатив несколько, но все со значительными доработками:
1. Полнотекстовый поиск PostgreSQL и MySQL пишут что есть поддержка релевантности, морфологии, синонимов. Но говорят что медленнее LIKE http://habrahabr.ru/post/25646/
2. Внешний движок полнотекстового поиска вроде Sphinx http://sphinxsearch.com/ или Lucene. ИМХО лучше Sphinx потому как субъективно лучше и отечественная разработка. Есть всё что нужно и к тому же очень быстрый поиск и индексация.
Меркушов Виктор, perl программист
-
- OTRS Бывалый
- Сообщения: 310
- Зарегистрирован: 25 окт 2012, 15:06
- Откуда: Воронеж
- Поблагодарили: 2 раза
Re: Полнотекстовый поиск
Вот нашёл качественный обзор http://lib.custis.ru/Сравнение_движков_ ... ого_поиска
Меркушов Виктор, perl программист
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Полнотекстовый поиск
Ссылка не работает
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!