検索エンジンスタイルの検索のための JavaScript ライブラリ? [closed] 質問する

検索エンジンスタイルの検索のための JavaScript ライブラリ? [closed] 質問する

文字列が検索クエリに一致するかどうかを判断できる JavaScript ライブラリはありますか? 効率的で、Google や LexisNexis のような高度なクエリ機能 (and/or 演算子、同義語、括弧など) を提供する必要があります。高度な検索機能があればどんなものでも結構です。特定の検索エンジンに完全に一致する必要はありません。

動機: 検索ボックスとそれに続く一連の段落 (一意の ID を持ち、JavaScript 配列から生成される) を含む HTML ページがあります。ユーザーがボックスに検索クエリを入力して Enter キーを押すと、クエリに一致しない段落はすべて非表示になります (つまり、displayに設定されます)。none

私の現在の戦略(jQuery を使用):

  1. クエリ文字列を空白で区切ってキーワードの配列に分割します。
  2. すべての段落を非表示にします$('p').hide()
  3. 各キーワードについて、それを含む段落を で表示します$('p:contains("'+keyword+'")').show()

これは、大文字と小文字を区別し、すべてのキーワードをオプションとして扱い、、、または括弧などの演算子を提供しない、非常に制限された検索機能ですandorまた、すでに一致している場合でも、キーワードごとに各文字列を 1 回ずつ処理するため、非効率的です。

ベストアンサー1

以下は、私がプロジェクト用に評価しているライブラリの一部です (2013 年 7 月現在)。これらのライブラリはいずれも、検索機能の中核を提供できるはずです。

独自のものを構築したい場合は、次の 2 つの一般的なステミング アルゴリズムの実装を参考にしてください。

ブール論理検索演算子の扱いについては、おそらくjsクエリパーサーに関する質問役に立つでしょう。

おすすめ記事