JavaScript библиотека для поиска в стиле поисковой системы?

Есть ли библиотека JavaScript, которая может определить, соответствует ли строка поисковому запросу? Он должен быть эффективным и обеспечивать расширенные функциональные возможности запросов, такие как Google или LexisNexis (такие вещи, как и / или операторы, синонимы и скобки). Любые расширенные функции поиска будут хороши; оно не должно быть точным соответствием какой-либо конкретной поисковой системе.

Мотивация: у меня есть HTML-страница с окном поиска, за которым следует группа абзацев (которые имеют уникальные идентификаторы и генерируются из массива JavaScript). Когда пользователь вводит поисковый запрос в поле и нажимает клавишу ввода, все абзацы должны быть скрыты (т. Е. Ихdisplay установлен вnone) если они не соответствуют запросу.

Моя текущая стратегия (с использованием jQuery):

Separate the query string into an array of keywords by splitting it over whitespace. Hide all paragraphs with $('p').hide(). For each keyword, show a paragraph containing it with $('p:contains("'+keyword+'")').show().

Это чрезвычайно ограниченная функция поиска, которая чувствительна к регистру, обрабатывает все ключевые слова как необязательные и не предоставляет таких операторов, какand, orили круглые скобки. Это также неэффективно, потому что оно проходит каждую строку один раз для каждого ключевого слова, даже если оно уже найдено.

Ответы на вопрос(5)

Ваш ответ на вопрос