Здравствуйте.
Как посоветуете реализовать анализ поискового запроса?
На данный момент думаю работать по следующему принципу:
Строка: "Рестораны с бильярдом"
Рестораны - сущ., следовательно - предмет поиска
С - предлог, указывает на то, что дальше идет параметр для фильтрации
Бильярдом - параметр для фильтрации
Но думаю, что можно придумать что-то получше, чем просто работать, исходя из частей речи и формирования модели запросов.
Ошибки детектятся следующим образом:
Если слова нет в словаре, оно перебирается посимвольно и сравнивается со словарем, после чего система "запоминает" эту опечатку.
Так же она запоминает модели запросов (типа "сущ. предл. прилаг. параметр", "сущ. предл. параметр")