2017-11-01 6 views
0

私はElastic Cloudで新しいインデックスを作成しようとしており、AutoMap機能を使って製品のマッピングを生成しようとしていますが、これを行った人がどのくらい長くこれは一般的に、私のアプリケーションは90分以上実行されており、すべてのRAMを消費しており、インデックスはまだElasticには表示されていません。Elastic NEST Automap()

誰でもアドバイスをいただけますか?デフォルトでは

var node = new SingleNodeConnectionPool(new Uri("https://elasticcloud:9243")); 
var config = new ConnectionSettings(
        node, 
        new HttpConnection()); 
var client = new ElasticClient(config);  
client.CreateIndex("sbproducts", i => i 
       .Settings(s => s 
       .NumberOfShards(2) 
       .NumberOfReplicas(0) 
       ) 
       .Mappings(ms => ms 
       .Map<Data.Product>(m => m.AutoMap()) 
       ) 
       ); 
+0

それは多かれ少なかれ即座にする必要があります。 'client.CreateIndex(...)'メソッド呼び出しの戻り値を確認しましたか? –

+0

マッピングを削除した場合はすぐに発生しますが、.Mappings部分ではすべてのRAMをクロールして消費します。 – rs82uk

+0

インデックスを外してそのような製品を試してみると var descriptor =(ITypeMapping)new TypeMappingDescriptor ()。AutoMap(); 私は同じ問題を抱えています。メモリ使用量は数秒以内に10GB +に飛んできます。 – rs82uk

答えて

0
.Map<Data.Product>(m => m.AutoMap()) 

整数として maxRecursionを受け取るオーバーロードがある循環参照を防ぐことはできません。

UPDATE

デフォルトの再帰が、それはそれはすでに見てきた型に再帰的ではないことを意味します0です。あなたのタイプで私たちに与えることができる追加情報は、私が感謝するでしょう@ rs82uk

+0

https://github.com/elastic/elasticsearch-net/pull/2917を開いて、新しいデフォルトの最大再帰「20」対「0」(無制限)を作成します。 –

+0

デフォルトの再帰は0です。つまり、すでに見たタイプに再帰しません。私があなたのタイプで私達に与えることができる追加情報は高く評価されるでしょう@ rs82uk –

+0

申し訳ありません私はこれを最初に見ていなかったし、別のproject.Itに自分自身に参照を持っている私は継承したデータベースの最初のMVCサイト – rs82uk

関連する問題