Мова чи технологія для серверу обробки документів
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
Доброго настрою всім учасникам!
Відразу омовлюся що я не хочу робити «holly war» на тему яка мова/технологія краща, я в курсі що для кожної задачі є свій інструмент.
Свої інструменти (Ruby, RoR) я успішно використовував для всіх поставлених перед мною задач (в основному сайти журналів, всякі бази для невеликих компаній), але виникла задача яка явно Ruby не під силу.
Грубо кажучи, це розробка системи пошуку в документах, тільки не по запиту а по фрагментах. Наприклад є абзац, написаний по-пам’яті (десь бачив), а мені треба знайти з якого це документу (база містить 2 тис документів, кожен від 20 до 300 сторінок А4, інтенсивно додаються нові документи).
Я використовував методи, які використовуються для пошуку плагіату і все це діло написане на Ruby вже працює... поки не доводиться шукати у всій базі.
Вирішив переписати пошук іншою мовою, розділити інтерфейс (сайт) і власне сервіс пошуку. От тільки не знаю яку технологію вибрати. Серед інших знайомих мов тільки C#, не підходить бо сервер на лінукс (я в курсі про моно, все-одно не те).
Щодо мови/технології, хотілося б що б вона мала зрозумілий синтаксис і працювала швидше ніж рубі.
Наперед дякую всім хто відгукнеться.
P.S. Оскільки більшість коментаторів рекомендують використовувати full-text-search системи, то можливо хтось знає, яка з систем (lucene, іsphinx, elasticsearch, etc) може дати максимальну «нечіткість» пошуку? Наприклад я шукаю речення з 10 слів, це речення в індексі є, але насправді слів 9, причому 1 слово не входить в мій запит і порядок слів відрізняється?
35 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів