2017-11-01 5 views
0

Elastic Cloud에서 새 색인을 만들려고하고 있으며 내 제품에 대한 매핑을 생성하기 위해 AutoMap 기능을 사용하려는 중,이 작업을 수행 한 사람이 내게 얼마나 오래 말할 수 있는지 궁금합니다. 이것은 일반적으로, 내 응용 프로그램은 90 분 이상 내 모든 RAM을 소비하고 색인은 아직 탄력에 게재되지 않은 실행되고있다.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