クエリプロセスを高速化するためにmognodbにインデックス作成機能があるので知りたいhttps://docs.mongodb.org/v3.0/indexes/ この目的のためにelasticsearchには何がありますか? 私はそれをグーグルで検索しましたが、適切な情報を見つけることができませんでした。最も頻繁に使用されるフィールドでmongodbのインデックス作成を使用して、クエリプロセスを高速化しました.elasticsearchで同じことをしたいのですが、elasticsearchが提供するものがあるかどうかを知りたい.Thank
2 に答える
0
「インデックス」が ES や他の多くのデータベースとは異なるコンテキストで使用されるのは面倒です。私は MongoDB にあまり詳しくないので、v3.0/core/index-typesにあるドキュメントを参照します。
基本的に、Elasticsearch は効率的な「フィルタリング」(yes/no クエリ) と「スコアリング」( tf-idfなどによる関連性ランキング) を提供するように設計されており、基礎となる逆インデックスとしてLuceneを使用します。
MongoDB の概念とその ES 対応部分:
- 単一フィールド インデックス: おそらく
not_analyzed
完全一致のフィールドとして、簡単にサポートされます - 複合インデックス: Lucene は
AND
効率的なビットマップを介してフィルター条件を適用し、任意の「単一フィールド」インデックスをアドホックにマージできます - マルチキー インデックス: 透過的なサポート、差分値なし、値の配列
- 地理空間インデックス: 地理形状を介して直接サポート
analyzed
テキスト インデックス: 何らかの方法で、ES はフィールド タイプとしてこのユース ケースに最適化されました。
私の見解では、検索アプリケーションの関連性は、結果を単純にフィルタリングすることよりも重要です。ほとんどすべてのドキュメントにいくつかの単語が出現し、検索時に関連性が低くなるためです。
Elasticsearch には、集計、ネストされたドキュメント、子/親の関係など、他にも非常に便利な概念があります。
于 2016-01-03T22:44:06.367 に答える
0
Elasticsearch にもインデックスがあります: https://www.elastic.co/blog/what-is-an-elasticsearch-index
これらは、データベースの主要機能の一部としても使用され、迅速な検索機能を提供します。
于 2015-12-23T09:02:53.383 に答える