エラスティックサーチとは何ですか? Elasticsearch はどこで使用できますか?
Elasticsearch バージョン: 5.4
Elasticsearch クイックスタート パート 1: Elasticsearch の開始
Elasticsearch クイックスタート パート 2: Elasticsearch と Kibana のインストール
Elasticsearch クイックスタート パート 3: Elasticsearch のインデックスとドキュメント操作
Elasticsearch クイック スタート パート 4: Elasticsearch ドキュメント クエリ
Elasticsearch は、拡張性の高いオープンソースの全文検索および分析エンジンです。大規模なデータを迅速かつほぼリアルタイムで保存、検索、分析できます。これは通常、複雑な検索機能と要件を持つアプリケーションに強力なサポートを提供するための基礎となるエンジン/テクノロジとして使用されます。
Elasticsearch は次の場所で使用できます:
顧客が販売中の商品を検索できるようにするために、オンライン ストアの Web サイトがあるとします。この場合、Elasticsearch を使用して製品カタログと在庫全体を保存し、検索を提供したり、いくつかの提案を自動的に提供したりできます。
ログやトランザクション データを収集し、分析やマイニングを通じて傾向、統計、概要、または異常を見つけたいとします。この場合、LogStash (Elasticsearch/Logstash/Kibanaスタックの一部) を使用してデータを収集、集約、解析し、このデータを LogStash を通じて Elasticsearch に渡すことができます。 Elasticsearch がデータを取得したら、興味のある情報を検索して集約できます。
価格アラート プラットフォームを運営し、価格に詳しい顧客に「特定の電子機器の購入に興味があります。来月以内に x ドルより低い価格の販売者がいる場合」などのルールを指定させるとします。 , 取得したいのですが「通知」します。この場合、販売者の価格を Elasticsearch に送信し、逆検索 (フィルター) を使用して、価格の変更を顧客のクエリと照合し、一致が見つかったら顧客に通知することができます。
分析 (ビジネス インテリジェンス) のニーズがあり、大量 (数百万または数十億のレコードを考えてください) のデータの中からアドホックな問題を迅速に調査、分析、視覚化して見つけたいという願望があるとします。この場合、Elasticsearch を使用してデータを保存し、次に Kibana (Elasticsearch スタックの一部) を使用してカスタム ダッシュボードを構築し、重要なデータを視覚化できます。さらに、Elasticsearch 集計機能を使用して、データに基づいて複雑なビジネス インテリジェンス クエリを実行できます。
このチュートリアルの残りの部分では、Elasticsearch の起動と実行プロセスを説明し、データのインデックス作成、検索、変更などの基本的な操作をいくつか紹介します。このチュートリアルを終えると、Elasticsearch とは何か、そしてそれがどのように機能するのかをより深く理解できるようになります。洗練された検索アプリケーションを構築し、データから有用なものを発見するためにこれを使用するインスピレーションを得ていただければ幸いです。
基本概念 (基本概念)
Elasticsearch の中核となる概念がいくつかあります。 これらの概念を最初から理解することは、後の学習に非常に役立ちます。
準リアルタイム (NRT)
Elasticsearch は、準リアルタイムの検索プラットフォームです。これは、ドキュメントのインデックスが作成されてから検索可能になるまでに、わずかな遅延 (通常は 1 秒) しかないことを意味します。
クラスター (クラスター)
クラスターは、すべてのデータを保存するために結合され、すべてのノードでインデックス作成と検索操作を実行できる 1 つ以上のノード (サーバー) の集合です。クラスターは一意の名前で識別され、デフォルトでは「elasticsearch」になります。ノードは 1 つのクラスターにのみ所属できるため、クラスター名に従ってクラスターに参加します。だから名前は大事なんです。
異なる環境で同じクラスター名を使用しないでください。使用すると、間違ったクラスターが追加される可能性があります。たとえば、クラスター名 logging-dev 、logging-stage、logging-prod を開発環境、ステージング環境、運用環境でそれぞれ使用できます。
ノードが 1 つだけあるクラスターは有効で完璧であることに注意してください。複数の独立したクラスターを作成し、それぞれに独自の一意のクラスター名を付けることもできます。
ノード (ノード)
ノードは、クラスターの一部であり、データを保存し、クラスターのインデックス作成と検索に参加する単一のサーバーです。クラスターと同様に、ノードも一意の名前によって区別されます。デフォルト名はランダムな UUID (Universally Unique IDentifier) であり、サーバーの起動時にノードに設定されます。デフォルト値を使用したくない場合は、ノード名をカスタマイズすることもできます。名前は、クラスター内の各サーバーに対応するノードを識別するのに役立つため、管理者にとって非常に重要です。
クラスター名を設定することで、ノードは指定されたクラスターに参加できます。デフォルトでは、ノードは elasticsearch というクラスターに参加します。これは、ネットワーク内で多数のノードを起動し、それらがすべて相互に通信できる場合、自動的に elasticsearch クラスターというクラスターに追加されます。 。
インデックス (インデックス)
インデックス は、特定の類似した特徴を持つドキュメントのコレクションです。たとえば、顧客データ インデックス、製品カタログ インデックス、注文データ インデックスなどです。インデックスは、ドキュメントのインデックス作成、検索、更新、削除時に使用される名前 (すべて小文字である必要があります) によって識別されます。単一クラスター内で、必要な数のインデックスを定義できます。
Type
インデックスは 1 つ以上のタイプを定義できます。タイプとは、インデックスの論理的なカテゴリ/パーティションであり、どのようなものであるかは任意です。通常、タイプは、共通のフィールドのセットを持つドキュメントに対して定義されます。たとえば、ブログ プラットフォームでは、すべてのデータが 1 つのインデックスに保存される場合があります。このインデックスでは、ユーザー データ タイプ、ブログ データ タイプ、およびコメント データ タイプを定義できます。
ドキュメント
ドキュメントはインデックスを作成できる基本単位です。たとえば、ドキュメントを使用して顧客に関するデータを保存したり、単一の製品に関するデータを保存したり、単一の注文に関するデータを保存したりできます。ドキュメントは JSON を使用して表現されます。多数のドキュメントをインデックス/タイプに保存できます。ドキュメントは基本的にインデックスに格納されますが、実際にはインデックスが作成され、インデックス内のタイプに割り当てられることに注意してください。
シャードとレプリカ
インデックスには大量のデータが保存される場合があり、そのデータは単一ノードのハードディスク容量を超える可能性があります。たとえば、インデックスには 10 億のドキュメントが保存され、1 TB のハード ディスク領域が占有されます。このような大量のデータを保存するには、1 つのノードのハード ディスクでは十分ではない可能性があります。サーバーの検索リクエストの処理速度。
この問題を解決するために、elasticsearchはインデックスを細分化するシャーディング機能を提供します。インデックスを作成するときは、必要なシャードの数を簡単に定義できます。各シャード自体にはインデックスのすべての機能があり、クラスター内の任意のノードに保存できます。
シャーディングは 2 つの主な理由で重要です:
コンテンツ ボリュームを水平方向に分割/スケーリングできます
複数のノードのシャード間で操作を並行して分散できるため、パフォーマンスを向上させたり、スループット。
シャード分散のメカニズム、およびそのドキュメントがどのように検索リクエストに集約されるかは、Elasticsearch によって完全に管理され、ユーザーには透過的です。
いつでも障害が発生する可能性があるネットワーク/クラウド環境では、シャーディングは非常に役立ちます。シャード/ノードがオフラインになったり消失したりするのを防ぐために、フェイルオーバー メカニズムを強くお勧めします。これを行うために、elasticsearch を使用して、インデックスのシャードの 1 つ以上のコピー (いわゆる複製されたシャード、または単にレプリカ) を作成できます。
レプリカは 2 つの主な理由で重要です:
シャード/ノードに障害が発生した場合に高可用性を提供するため。したがって、レプリカは、コピー元のオリジナル/プライマリ シャードと同じノードには割り当てることができないことに注意することが重要です。
すべてのレプリカに対して並行して検索を実行できるため、検索ボリューム/スループットをスケールすることができます。
要約すると、各インデックスは複数のシャードに分割できます。各インデックスは、ゼロ回 (コピーなし) または複数回複製することもできます。レプリケートされると、各インデックスにはプライマリ シャード (レプリケートされた元のシャード) とセカンダリ シャード (プライマリ シャードのコピー) が含まれます。シャードとレプリカの数は、インデックスの作成時にインデックスごとに定義できます。インデックスを作成した後は、いつでもレプリカの数を動的に変更できますが、その後シャードの数を変更することはできません。
デフォルトでは、各インデックスには 5 つのプライマリ シャードと 1 つのレプリカ シャードが割り当てられます。つまり、クラスター内に 2 つのノードがある場合、インデックスには 5 つのプライマリ シャードと 5 つのレプリカ シャードがあり、合計 10 のシャードが存在します。
各 elasticsearch シャードは Lucene インデックスです。LUCENE-5843 では、最大 2,147,483,519 (= Integer.MAX_VALUE - 128) 個のドキュメントを含めることができます。シャード サイズを監視するには、_cat/shards API を使用できます。 。
概要
1. 検索にリレーショナル データベースを使用してみてはいかがでしょうか?検索の実装にはデータベースが使用されるため、パフォーマンスが非常に低くなり、単語の分割検索は実行できません。
2. 全文検索、転置インデックス、Lucene とは何ですか?すでに前の方がまとめていますので、ぜひ参考にしてください 【段階的に全文検索を教えます】Apache Lucene の下調べ
3. Elasticsearch の特徴
クラスターに分散して大量のデータを処理できるほぼリアルタイムで
ユーザーにとっては、箱から出してすぐに使用するのが非常に簡単です。データ量が大きくなければ、操作はそれほど複雑ではありません。
には、全文検索、同義語処理、関連性ランキング、複雑なデータ分析、準実数など、リレーショナルデータベースにはない機能があります。大量のデータの時間処理
Lucene に基づいて、複雑さを隠し、シンプルで使いやすい RESTful API インターフェイスと Java API インターフェイスを提供します
4。クラスター: クラスターには複数のノードが含まれており、各ノードがどのクラスターに属するかは構成によって決まります (デフォルトは elasticsearch)
ノード: クラスター内のノードは、クラスター内の「elasticsearch」という名前のクラスターに自動的に参加します。デフォルト。 elasticsearch サービスはノードです。たとえば、マシンが 2 つの es サービスを開始すると、2 つのノードが存在します。
インデックス: mysql データベースに相当するインデックスには、同様の構造を持つドキュメント データの束が含まれています。
タイプ: インデックス内の論理データ分類である mysql テーブルに相当するタイプ。
ドキュメント: ドキュメントは、MySQL テーブルのレコードの行に相当し、ES の最小のデータ単位です。
シャード: 単一のマシンでは大量のデータを保存できません。ES はインデックス内のデータを複数のシャードに分割し、複数のサーバーに分散して保存できます。
レプリカ: レプリカ。ダウンタイムとシャードの損失を防ぐため、最小の高可用性構成は 2 サーバーです。
以上がエラスティックサーチとは何ですか? Elasticsearch はどこで使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











拡散はより良いものを模倣するだけでなく、「創造」することもできます。拡散モデル(DiffusionModel)は、画像生成モデルである。 AI 分野でよく知られている GAN や VAE などのアルゴリズムと比較すると、拡散モデルは異なるアプローチを採用しており、その主な考え方は、最初に画像にノイズを追加し、その後徐々にノイズを除去するプロセスです。ノイズを除去して元の画像を復元する方法は、アルゴリズムの中核部分です。最後のアルゴリズムは、ランダムなノイズを含む画像から画像を生成できます。近年、生成 AI の驚異的な成長により、テキストから画像への生成、ビデオ生成など、多くのエキサイティングなアプリケーションが可能になりました。これらの生成ツールの背後にある基本原理は、以前の方法の制限を克服する特別なサンプリング メカニズムである拡散の概念です。

キミ: たった 1 文の PPT がわずか 10 秒で完成します。 PPTはとても面倒です!会議を開催するには PPT が必要であり、週次報告書を作成するには PPT が必要であり、投資を勧誘するには PPT を提示する必要があり、不正行為を告発するには PPT を送信する必要があります。大学は、PPT 専攻を勉強するようなものです。授業中に PPT を見て、授業後に PPT を行います。おそらく、デニス オースティンが 37 年前に PPT を発明したとき、PPT がこれほど普及する日が来るとは予想していなかったでしょう。 PPT 作成の大変な経験を話すと涙が出ます。 「20 ページを超える PPT を作成するのに 3 か月かかり、何十回も修正しました。PPT を見ると吐きそうになりました。」 「ピーク時には 1 日に 5 枚の PPT を作成し、息をすることさえありました。」 PPTでした。」 即席の会議をするなら、そうすべきです

北京時間6月20日早朝、シアトルで開催されている最高の国際コンピュータビジョンカンファレンス「CVPR2024」が、最優秀論文やその他の賞を正式に発表した。今年は、最優秀論文 2 件と学生優秀論文 2 件を含む合計 10 件の論文が賞を受賞しました。また、最優秀論文ノミネートも 2 件、学生優秀論文ノミネートも 4 件ありました。コンピュータービジョン (CV) 分野のトップカンファレンスは CVPR で、毎年多数の研究機関や大学が集まります。統計によると、今年は合計 11,532 件の論文が投稿され、2,719 件が採択され、採択率は 23.6% でした。ジョージア工科大学による CVPR2024 データの統計分析によると、研究テーマの観点から最も論文数が多いのは画像とビデオの合成と生成です (Imageandvideosyn

PyCharm コミュニティ版のクイック スタート: 詳細なインストール チュートリアル 完全な分析 はじめに: PyCharm は、開発者が Python コードをより効率的に作成できるようにする包括的なツール セットを提供する強力な Python 統合開発環境 (IDE) です。この記事では、PyCharm Community Edition のインストール方法を詳しく紹介し、初心者がすぐに使い始めるのに役立つ具体的なコード例を示します。ステップ 1: PyCharm Community Edition をダウンロードしてインストールする PyCharm を使用するには、まず公式 Web サイトからダウンロードする必要があります

LLM が大量のデータを使用して大規模なコンピューター クラスターでトレーニングされていることはわかっています。このサイトでは、LLM トレーニング プロセスを支援および改善するために使用される多くの方法とテクノロジが紹介されています。今日、私たちが共有したいのは、基礎となるテクノロジーを深く掘り下げ、オペレーティング システムさえ持たない大量の「ベア メタル」を LLM のトレーニング用のコンピューター クラスターに変える方法を紹介する記事です。この記事は、機械がどのように考えるかを理解することで一般的な知能の実現に努めている AI スタートアップ企業 Imbue によるものです。もちろん、オペレーティング システムを持たない大量の「ベア メタル」を LLM をトレーニングするためのコンピューター クラスターに変換することは、探索と試行錯誤に満ちた簡単なプロセスではありませんが、Imbue は最終的に 700 億のパラメータを備えた LLM のトレーニングに成功しました。プロセスが蓄積する

C言語は広く使われているプログラミング言語であり、コンピュータプログラミングを志す人にとって必ず学ばなければならない基本的な言語の一つです。ただし、初心者にとって、特に関連する学習ツールや教材が不足しているため、新しいプログラミング言語を学習するのは難しい場合があります。この記事では、C言語初心者がすぐに始められるプログラミングソフトを5つ紹介します。最初のプログラミング ソフトウェアは Code::Blocks でした。 Code::Blocks は、無料のオープンソース統合開発環境 (IDE) です。

Machine Power Report 編集者: Yang Wen 大型モデルや AIGC に代表される人工知能の波は、私たちの生活や働き方を静かに変えていますが、ほとんどの人はまだその使い方を知りません。そこで、直感的で興味深く、簡潔な人工知能のユースケースを通じてAIの活用方法を詳しく紹介し、皆様の思考を刺激するコラム「AI in Use」を立ち上げました。また、読者が革新的な実践的な使用例を提出することも歓迎します。ビデオリンク: https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ 最近、Xiaohongshu で一人暮らしの女の子の生活 vlog が人気になりました。イラスト風のアニメーションといくつかの癒しの言葉を組み合わせれば、数日で簡単に習得できます。

タイトル: 技術初心者必読: 具体的なコード例を必要とする C 言語と Python の難易度分析 今日のデジタル時代において、プログラミング技術はますます重要な能力となっています。ソフトウェア開発、データ分析、人工知能などの分野で働きたい場合でも、単に興味があってプログラミングを学びたい場合でも、適切なプログラミング言語を選択することが最初のステップです。数あるプログラミング言語の中でも、C言語とPythonは広く使われているプログラミング言語であり、それぞれに独自の特徴があります。この記事ではC言語とPythonの難易度を分析します。
