2016-07-06 12 views
0

Firebaseをデータベースとして使用しているWebサイトの検索バーを実装しようとしています。特定の画像や埋め込みビデオへのリンクです。私は、各リンクの "タグ"フィールドを持つことが最善であると考えています。lunrライブラリが照会するでしょうか?私は各タグフィールドを文字列の配列に分割し、lunrはそれぞれのタグフィールドを探します。Javascript - 'lunr'はFirebaseの実行可能な検索ライブラリですか?

私のデータベースは、のJSONフォーマットた:

{ "Featured" : { 
    "Link1" : { 
     "isEmbed" : false, 
     "priority" : 4, 
     "url" : "https://s3.amazonaws.com/hagshs8282n23/image7.jpg", 
     "tag" : nba nfl nhl mlb yahoo 
    }, 
    "Link2" : { 
     "isEmbed" : false, 
     "priority" : 3, 
     "url" : "https://s3.amazonaws.com/hagshs8282n23/image6.jpg", 
     "tag" : fire base stuff art cool 
    } } 

が、これはオブジェクトの検索について行くに遅い方法ですかそれについて考えるには良い方法はありますか?

また、ファイルがデータベースに追加されるたびに、その新しいJSON構造体をWebサイトのホームディレクトリ(/ dir /など)にエクスポートしてからlunrを読み込むようにしましたFirebaseの代わりにそれから。ファイルがローカルでFirebaseにないので、それは速くなるのでしょうか、それとも違いはありませんか?

答えて

1

フルテキスト検索が必要な場合は、lunrを使用して、これらのドキュメントのタグにインデックスを付けることができます。

これらのリンクに説明がある場合は、lunr(または他の全文検索)が適しています。実際はfull text searchです。

タグは、とにかく私には、faceted searchを暗示します。私はあなたがこれらのタグの有限リストを持っていると思います、そして、あなたはこれらの正確なタグを持っているリンクを見つけたいでしょう。あなたはlunrと似たようなものを近似することができますが、おそらく仕事のためのより良いツールがあります。

lunrを使用してユーザーがタグを検索し、それらのタグを使用してリンク上でファセット検索を実行できるようにする、大量のタグリストがある場合は、lunrを使用できます。

lunrがfirebaseで使用する場合、lunrがインデックス用のリンクデータのすべてにアクセスできる限り、実際に文書を保存する場所は気にしません。私は火災基地に精通していないので、lunrとそのサービスを統合する実用性についてはコメントできません。おそらく他の人があなたをそのような面で助けることができます。

関連する問題