文字列が検索クエリに一致するかどうかを判断できるJavaScriptライブラリはありますか?それは効率的であり、GoogleやLexisNexisのような高度なクエリ機能(および/または演算子、同義語、括弧など)を提供する必要があります。どんな種類の高度な検索機能も素晴らしいでしょう。特定の検索エンジンと完全に一致する必要はありません。
動機:検索ボックスとそれに続く一連の段落(一意のIDを持ち、JavaScript配列から生成される)を含むHTMLページがあります。ユーザーがボックスに検索クエリを入力してEnterキーを押すと、クエリと一致しない場合はすべての段落を非表示にする(つまり、にdisplay
設定する)必要があります。none
私の現在の戦略(jQueryを使用):
- クエリ文字列を空白で分割して、キーワードの配列に分割します。
- ですべての段落を非表示にし
$('p').hide()
ます。 - キーワードごとに、それを含む段落を。で表示し
$('p:contains("'+keyword+'")').show()
ます。
これは、大文字と小文字を区別し、すべてのキーワードをオプションとして扱い、、、、または括弧などand
の演算子を提供しない、非常に限定された検索機能です。or
また、すでに一致している場合でも、キーワードごとに1回ずつ文字列を処理するため、非効率的です。