背景ノート
Elasticsearchが基づいているのApache Luceneの(TM) 、オープンソースの検索エンジン。かどうかは、オープンソースまたは独自の分野では、Luceneには、これまでで最も先進的な、最高のパフォーマンス、最も汎用性の高い検索エンジンライブラリであると考えることができます。
NoSQLのデータベース(非リレーショナルデータベース)をElasticsearch、従来のリレーショナル・データベース(例:MySQLの、Oralce等)対応の基本的な概念を、以下の通りであります:
Elasticsearch:インデックス - > タイプ - > ドキュメント - > フィールド
MySQLの: データベース - > データシート - > OK - > コラム
早くも非リレーショナル・データベースの概念よりも、リレーショナルデータベースが提示され、非常に成熟し、広く使われています。
だから、(含む:などのMongoDB、Elasticsearch、)その後、多くのNoSQLとは、従来のリレーショナルデータベースの基本的な概念の延長を基準にしています。
次のように客観的な現象と事実は、次のとおりです。
タイプ提案コンセプトの進化の公式サイトの最新バージョンをElasticsearch次のとおりです。
で5.Xのバージョン、インデックスダウンを作成するタイプのより多く ;
で6.xのバージョン、インデックスは、次だけタイプのいずれかとすることができます。
で7.xのリリース直接型取り外し、その概念をインデックスしなくなり種類を。
なぜタイプの概念を削除しますか?
なぜ直接しかし、位相同期のために、種類のうち、タイプを削除6.Xバージョンを起動しませんか?
なぜ?!
原因分析
1、なぜ除去のタイプの概念がすべき?
:早期Elasticsearchデザイン、デザインパターンは、直接リレーショナルデータベースを調べているので、タイプ(データシート)の概念が存在しているです。
しかし、検索エンジンがされるのLuceneに基づいて、この「遺伝子は」余計なタイプを決定します。Luceneののフルテキスト検索機能速いので理由逆索引が存在します。
このような転置インデックスの生成はなく型より、インデックスに基づいています。複数のタイプがしますが、検索が遅くなります。
Elasticsearch「を維持するためには、検索のためにすべてのいくつかの変更(除去タイプ)を作るために適切な、」目的を、それは理解し、それは価値があります。
だから、なぜいけないのでしょうか?!
2、なぜ直接しかし、位相同期のために、種類のうち、タイプを削除6.Xバージョンを起動しませんか?
:歴史的な理由により、早期ElasticsearchはデータベースとしてElasticsearchの使用中の多くのプロジェクトがあり、さらに、次のインデックスの複数の種類をサポートしています。
タイプの概念の直接の除去は、いない場合にのみ、多くのアプリケーションElasticsearchプロジェクトがされる操作、機能やコードに大きな変化に直面し、
そして、のためにElasticsearchの公式、それが大きな課題である(これは大手術の鼓動で、ソースの種類に多くの関連が変更されます)。
だから、バランス上、「完了するために、7.xのバージョンを延期するために、最終的には、段階的な移行を取るタイプの除去の」革命的な変化を。