Технический пост о том, на чём я споткнулся в первую же неделю разработки.
Задаёте слово «Иван Петров». В статье написано «об Иване Петрове». Поиск по точному совпадению этого не найдёт. А в одной статье имя может встретиться в трёх разных формах.
Что пришлось сделать: разбирать слова по морфологии. Бот понимает, что «Ивана Петрова», «Ивану Петрову» и «об Иване Петрове» — формы одной фразы, и ищет их все. Фраза из нескольких слов ищется подряд и в том же порядке.
Что осталось ограничением, и я пишу об этом прямо:
— разбор вероятностный, бывают лишние срабатывания и пропуски; — слова до трёх букв и латиница ищутся в точной форме; — «Иван Петров» не найдёт «Петрова Ивана».
Вывод для тех, кто выбирает любой сервис мониторинга: проверьте его на своём имени в косвенном падеже. Это быстрый тест, который многое говорит о поиске.