Если у вас есть +1000 документов, по которым выполняется поиск по запросу, использование jQuery и баз данных SQL неэффективно.
1) Выполнение последовательного поиска по каждому документу по каждому ключевому слову займет у вас не менее, чем # документов * Количество слов в каждом документе * Количество ключевых слов
2) Каждый раз, когда вы выполняете поиск, каждый документ должен быть снова отсканирован. Если у вас есть проект, который включает поиск много раз, это неосуществимо.
3) Последовательный поиск не дает возможности ранжировать результаты на основе количества найденных слов и общего количества слов в документе, а также важности или каждого слова и т. Д. *
Лучшей альтернативой является использование структуры данных Inverted Index для «индексации» ваших документов и слов заранее.
Таким образом, вы сначала проделаете некоторую работу, чтобы проиндексировать каждое слово в каждом документе, но вы сэкономите много времени при выполнении реального поиска (что имеет значение).
Еще одним преимуществом является то, что вы сможете ранжировать документы не по назначению. См. Модель векторного пространства .