Лого vc.ru

Ambar — система полнотекстового поиска по документам

Ambar — система полнотекстового поиска по документам

Сегодня в рубрике «Стартапы» — система полнотекстового поиска по документам Ambar, которая позволяет найти необходимый файл независимо от сложности запроса и количества документов. Передаем микрофон.

Привет, нас зовут Игорь и Илья, нам 27 и 26 лет. Мы прошли долгий путь от разработчиков до руководителей самостоятельных подразделений в российском филиале крупной иностранной компании. Параллельно с основной работой мы успевали заниматься сторонними проектами. Осенью прошлого года мы решили наконец бросить офисное болото и уйти в самостоятельное плавание, чтобы развивать собственный продукт, идея которого вытекла из проблемы, с которой мы и наши коллеги постоянно сталкивались.

Итак, представьте себя сотрудником компании, в которой работает несколько тысяч человек, у компании единая сеть, раскинутая на множество филиалов в сотнях городов. У вашего подразделения есть файловое хранилище — «помойка», в котором лежат и регулярно добавляются миллионы документов в разных форматах: договоры, регламенты, отчёты и так далее. Часто перед вами и вашими коллегами возникает задача поиска информации в этих файлах или поиска какого-то конкретного файла по информации, которая в нём содержится.

Все решают эту проблему по-разному, кто на что горазд: кто-то использует старинный DtSearch, кто-то пишет что-то своё, кто-то зарится на дорогущий и неповоротливый Lucidworks, а кто-то вообще ищет вручную.

При использовании таких решений есть несколько проблем: во-первых, риск потерять или не найти нужную информацию из-за некорректной экстракции контента из файлов, например, из-за экзотической кодировки исходного файла (привет, CP 866), или из-за несовершенного полнотекстового поиска (привет, нормальный stemming), во-вторых, низкая скорость поиска по большим массивам файлов и по файлам большого размера, а в-третьих — отсутствие современного и не тормозного интерфейса для поиска.

Именно поэтому мы создали Ambar — систему полнотекстового поиска по документам. В процессе разработки мы держали в голове основные требования к системе: лёгкая, интуитивно понятная, при этом мощная и масштабируемая. Мы сразу ориентировались на объёмы в десятки и сотни миллионов файлов, обязательным условием был быстрый поиск, занимающий не более половины секунды независимо от сложности запроса и количества документов.

Мы прошли долгий путь выбора технологий, проектирования, исследования, разработки, тестирования и отладки. Официальный релиз состоялся 18 января 2017 года. В этот день мы запустили Ambar у первого крупного клиента.

Итак, основные моменты о нашей системе, которые важно знать:

  • Супербыстрый поиск с учётом особенностей языка: например, нечёткий поисковой запрос занимает около ста миллисекунд в более чем десятке миллионов файлов.
  • Лёгкий и понятный интерфейс как для поиска, так и для администрирования.
  • Поддержка всех распространённых (и не очень) форматов файлов и дедупликация.
  • Простой RESTful API, лёгкая интеграция с чем угодно.
  • Возможность использования облачной версии или установка на собственном железе.

В ближайшее время мы планируем добавить возможность читать и индексировать содержимое почтовых ящиков (привет, Barracuda) и начать развивать аналитическую часть системы, добавив распознавания именованных сущностей (ФИО, адреса, номера документов, идентификационные номера, телефоны).

Хотите попробовать наш поиск в деле? Специально для этого мы запустили демоверсию с англоязычными книгами в индексе.

Хотите получить слово и рассказать о своем стартапе? Добро пожаловать за трибуну.

На Эластик смахивает сильно

Да вы правы. У нас внутри используется ElasticSearch для поиска. О том как его правильно настроить мы писали несколько статей на Хабре (habrahabr.ru/post/321352/) и у себя в блоге (blog.rdseventeen.com)

0

Я правильно понял, что Ambar - это кастомизированная вами сборка Эластика? Просто вроде и разные форматы подружить с ЭС не проблема, да и SaaS они предоставляют на AWS.

Если несложно, было бы круто написать отличия. Думаю, это будет интересно не только мне.

> Я правильно понял, что Ambar - это кастомизированная вами сборка Эластика?

Нет, все немного сложнее. Наш продукт это большая система, одним из компонентов которой является ElasticSearch. Так внутри мы используем Apache Tika для экстракции контента файла, Tesseract для OCR, итд. Полный стек технологий вы можете посмотреть на stackshare.io/ambar/ambar .

Обязательно посмотрите на findo.com/ они в облаке и бесплатные пока, будут freemium. Cейчас они b2c но думаю скоро пойдут и в b2b.

ПС. Хотел протестировать облачную версию но ссылка так и не пришла :(

0

Высылаем вам письмо :)

0

ЭЭЭЭ думаю, это надо делать автоматически :)

0

Посмотрел Findo. Действительно интересный сервис. Есть много коннекторов к Telegram, Google Drive, Dropbox итд. Единственное что не понял: может ли он искать по контенту документов? Например, pdf который я загрузил не находится

0

У меня прекрасно все ищет в pdf, нужно время на индексацию оно видно в настройках после подключения data source

0

Ваш сайт на под домене ambar.rdseventeen.com/ на главном домене об этом продукте не слова :( Я бы перенес на отдельный домен.

0

Вам виднее но документация и блог гдето то не там что ли :) я про домены...

0

Тема нужная.
В сбере и центробанке стоят мощные решения.
Но после поиска, второе по важности, точнее первое, это поиск ,,похожего,,.
Цб и Сбер это делают.
Следующее это автообработка.
Но лично мне казалось, что такие пакеты нараз должны были консультант плюс писать...

0

А можно поделиться результатами исследования? Какие конкретно проблемы текущих инструментов вы хотите решить?

То есть "ни черта не найдешь" - это не боль, это суровая правда жизни. Боль, например, моя, это то, что находится наоборот, слишком много документов, и как среди них найти нужный - непонятно.

Вторая боль - практическая бесполезность языка запросов. Как правило, те слова, которые я могу вспомнить и включить в сложный запрос, настолько ходовые, что опять же присутствуют во всех доках. И, спасибо канцеляриту, в очень сходных конструкциях. Иногда я умудряюсь запоминать уникальное сочетание слов - тогда достаточно просто кавычек в запросе. Единственное, что по факту используется.

И тут вступает третья боль - это то, что я запомнил это самое уникальное сочетание слов неточно. В кавычках оно не ищется, а без кавычек - ищется куча мусора вместо него. Идеальный вариант поискового оператора - "искать что-то *вроде* X", но такого ни у кого нет.

0

Здравствуйте, для третье боли у нас есть оператор ~. Пишите в запросе слово~3. Это означает что в "слове" можно допустить до трех изменений при поиске. Например, в результатах будет "слава" и "слева". Можете по экспериментировать на нашем демо (ambardemo.rdseventeen.com) с запросами.

0

Не совсем понял, как выглядит, например, интеграция в компании где вся переписка в Microsoft Exchange, договора на S3 в PDF, и куча текстовиков на Samba.

Для этого у нас есть краулеры. Вы указываете из какого источника собирать документы и по какому расписанию. Сейчас есть краулер для SMB и FTP. Планируем сделать краулер для Microsoft Exchange

Идея супер, название — огонь. Сразу вспомнился Findo от основателей ABBYY, но выше уже упоминали о нём. В будущем можно выйти на создание аналога HAL 9000 для организаций, идеально вписывает в тренд машинобучизации всего.

Сам много занимаюсь проблематикой организации и поиска по знаниям, мне кажется это следующая ступень эволюции систем текстового поиска.

Самая большая боль любого поиска в том, что он ищет по словам. А человек, который не вполне знает что он хочет найти может с ключевиками сильно не угадать. С другой стороны, когда спрашиваешь у живого человека, он может искать по нечётким связям — ассоциациям, синонимам и т.д. Часто получается эффективнее. Поисковики уже начали внедрять это у себя — habrahabr.ru/company/yandex/blog/314222/

Собственно ещё в 90-х для крупного бизнеса составлялись в ручную тезаурусы предметной области, где для различных важных терминов подбирались альтернативные названия и это позволяло затем с помощью компьютера решать ряд практических задач, например аудита.

В целом идея в том, чтобы перейти в будущем от Амбара к Амбару Знаний, а потом и к Амбару 9000 конечно)

Прямой эфир
Приложение-плацебо скачали
больше миллиона раз
Подписаться на push-уведомления