2016-05-20 7 views
0

私は通常、_typeでESをクエリします。したがって、ルーティングパラメータとして_typeを使用すると、読み取り/書き込みのパフォーマンスが向上するのでしょうか?たとえば : PUT my_index/my_type/1ルーティング= _typeルーティングとしてElasticSearch _typeを使用する必要があります

私の状況は、いくつかの_TYPESのために、私は唯一の私は数十億のドキュメントを有していてもよく、他の_TYPES間、数百万件のドキュメントを持っているということですが、彼らは一つにすべてのですか?インデックス。 各ノードに配置された小さな_typeドキュメントが恐れて、読み取りパフォーマンスが悪くなる可能性があります。だから私は、クラスタ内のすべてのノードではなく、2つまたは3つのノードにしかない小さな_タイプを好む。

+0

あなたの質問はあまりにも曖昧です。答えは、ユースケースによって異なります。あなたが達成しようとしていることをもう少し詳しく説明してください。そのように、あなたの質問に適切に答えるのは難しいです。 – Val

+0

ありがとうございます、私は私の質問を変更しました。 – Jack

答えて

1

routingパラメータは、特定のノードにインデックスを割り当てるのではなく、インデックス内の特定のシャードにドキュメントを割り当てるためのものです。

1つまたは2つの特定のノードにインデックスを割り当てる場合は、shard allocation filteringを使用して、特定のインデックスの断片を見つけることができるノードを指定できます。例えば

あなたの小さなインデックスだけ192.168.1.1192.168.1.2上にあることを決定した場合、次のコマンドを実行したい:これを実行した後

PUT my_index/_settings 
{ 
    "index.routing.allocation.include._ip": "192.168.1.1,192.168.1.2" 
} 

を、あなたはmy_indexのすべての破片が表示されます192.168.1.1または192.168.1.2に再割り当てされますが、クラスタの他のノードには再割り当てされません。

+0

人々がなぜ自分のデータを別の断片にルーティングする必要があるのか​​理解できません。私の理解は、データを別のノードにルーティングするためだけに別の断片にルーティングすることです。 – Jack

+1

ESの人々がルーティングを使用できる理由と時期を説明する[優れたブログ投稿](https://www.elastic.co/blog/customizing-your-document-routing)がありました。また、[このプレゼンテーションのスライド31](http://fr.slideshare.net/ABCTalks/elastic-search-overview)には、どのようなルーティングが視覚的に示されているかを見てください。 – Val

関連する問題