@barseon

Поиск слов в тексте по словарю?

Есть словарь 2-3 (Aня, Cаша, Александра, Алекс) тысячи имен и произвольный текст 2-3к символов
Существуют ли самый оптимальный способ поиска точных вхождений имен в этом произвольном тексте.Понятно что можно рекурсивным перебором, но словарь может состоять из 10-100 тысяч имен. Возможно есть какие либо библиотеки или инструменты для этого?
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Алгоритм Ахо — Корасик
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Zarom
@Zarom
Мастер на все руки из жопы
Думаю с задачей отлично справятся системы полнотекстового поиска - sphynx, elasticsearch.
Но, возможно, это пушка для воробья
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Существуют ли самый оптимальный способ
Не бывает оптимальных способов вообще.
Бывают оптимальные для конкретной ситуации.
Вам один раз надо сделать или постоянно искать, будет ли увеличиваться словарь со временем, насколько жесткие ограничения по памяти, как быстро нужно выполнять поиск, что в приоритете скорость или ресурсы?
Ответ написан
@ntllct
Простая задача. Словарь имён конвертируем в нижний регистр и загружаем в хэш-таблицу или бинарное дерево поиска. Далее пробегаем по тексту, выделяем слова, копируем их в буфер, преобразуя буквы верхнего регистра в нижний, и ищем слово в хеш-таблице(или дереве поиска). Быстрее только за счёт низкоуровневых оптимизаций или я не правильно понял задачу.
Ответ написан
SONDERION
@SONDERION
Привет. Мне 16, занимаюсь вебом.
Бинарный поиск попробуй
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
21 авг. 2019, в 00:43
500 руб./за проект
21 авг. 2019, в 00:14
1000 руб./за проект