Простейший метод организации индекса для поисковика таков: по конкретным правилам (знаки препинания, используя пробелы) выделяется и сохраняется какая-то последовательность из букв и цифр. При этом в качестве адресной информации можно использовать путь и имя файла, адрес страницы. По этой схеме действуют разработчики многих поисковых систем, например, одной из самых известных в интернете является - AltaVista компании Dec.
Недостатки указанного способа налицо при использовании любых языков, где слова имеют словоформы (то есть изменяются по числам, родам, падежам, временам и прочее). Пользователь, начиная поиск, должен либо вспоминать, как точно выглядит искомая лексическая форма, либо добросовестно склонять и спрягать слова, чтобы прийти к полной парадигме.
Есть один выход из ситуации - применение шаблонов, например, символа * (астериск) на конце слова. Этот шаблон неплохо применяется для английского языка, где большинство словоформ формируется за счет добавления окончаний -s, -ed и -ing; Но даже эта уловка полностью не исключает «мусора» в результате поиска. Что же касаемо русского языка, то тут все обстоит намного сложнее.
Достаточно таких слов, которые невозможно в принципе найти с помощью шаблона. Например такие:
слова, которые полностью меняют свою форму: плохо - хуже, идти - шел, он - его, человек - люди;
слова с большим количеством словоформ. Здесь берутся в учет причастия и деепричастия (огромное количество форм), если нет лингвистического образования, то будет достаточно трудно. Шаблону же «*» будет еще сложнее.
Слова, в которых есть беглые гласные и чередования (искать - ищу, окно - окон, расти - рос);
Существует два подхода к реализации поиска. Первый - «демократический», при нем поиск должен быть настолько прост, чтобы неподготовленный человек смог, не испытывая трудностей, сформулировать вопрос и вскоре получить на него полный и исчерпывающий ответ. Другой - «элитарный». Тут поиск является тонким инструментом, который требует квалифицированного обращения.