Стал интересовать вопрос на тему того, какими средствами можно реализовать поиск на простых словах, т.е. "Во сколько ближайший поезд в Москву" или "Когда ближайший поезд в Москву" и тому подобные запросы. Существует, конечно, вариант просто по словарям пытаться выщемить ключевые слова из текста, но может для этого есть специализированные инструменты?
В нём достаточно инструментов для решения этой задачи. Словари нужны в любом случае для построения выборки результирующего документа/страницы или их множества. Так же обычно нужны небольшие словарики для разбора направления ограничения выборки, всякие "до/от, больше/меньше, старше/младше, дальше/ближе, в/из и т.п."
Неоднократно решал задачу поисковых запросов на естественном языке к различным структурированным данным. И замечу, что если источником запроса служит текстовое поле то пользователи тупят, не пользуются этим т.к. хотят видеть сложную форму с кучей селект боксов галочек и т.д. Ни кто не хочет писать: "чёрный лексус 2 литра не старше 2000 года". Зато если источник ввода это распознанная устная речь на мобильнике то это работает.
Это относится к тому, если бы мне нужно было искать по статьям, а мне в результате необходимо переадресовать пользователя на внутреннюю страницу сайта, которая будет отвечать на этот вопрос. С учётом того, что городом может быть много и к тому же они могут меняться динамически, этот вариант совсем не подходит.