2016-07-12 13 views
0

私たちは広告検索サイトを持っており、すべての検索は、SQL Serverデータベースに直接問い合わせるエンティティフレームワークによって行われています。私の検索にElasticsearchを統合する方法

データベースが約1000件の広告を掲載していたときはうまくいっていましたが、現在は300万件に達し、多くのユーザーが検索しています。検索は現在非常に遅いです(raw SQLを使用してもあまり役に立ちません)。Elasticsearchを検討するように指示されました。

私はいくつかのチュートリアルしてきたと私はそれが今どのように動作するかのアイデアを得るが、私は知らないことである:私は、広告を保存してElasticsearchの使用を開始するためにSQL Serverを使用停止する必要があり

  1. 代わりに?他のすべての関連データはどうですか? ElasticsearchはSQL Serverの代替ですか?
  2. 各広告には、関連するデータがさまざまなテーブルに保存されていますが、どのようにElasticsearchにロードするのですか?単一のjson要素として?
  3. 私はElasticsearchが扱う "何十億ものデータ"を読んでいますので、300k行のパフォーマンスに問題はないと思います。

誰でも私がこれらの質問をよりよく説明しますか?

答えて

1

1-まだ使用できます。データベース全体を検索する必要はありませんか?ちょうど広告の上に。それは、非SQL形式で動作するので、非常にスケーラブルです。それはjsonのものでも動作しますので、簡単にアクセスできます。

2データのインデックスを作成するときは、必要なデータをすべて同じドキュメント(SQL行)に追加する必要があります。これは単一のjsonですが、限定的な方法です。ストレージは安いですが、コンピューティング時間はありません。

インデックスを作成するには、filebeatのlogstashと少し似ているプログラムを使用するか、独自のソリューションを作成して、データベースからデータを読み込み、バルクでelasticsearchに渡します。

3-正しい300k行は少量ですが、elasticsearchをホストしている場所のメモリによっても異なります。

これが役に立ちます。

+0

ありがとうございます。Elossearchは、このファイルビートや何か言及した何か他のものによってXタイムごとに更新される読み取り専用データベースになりますか? – user3900456

+0

@ user3900456は読み取り専用ではありません。 jsonコールを使用してCRUD操作を実行することはできます。 –

関連する問題