2017-12-22 15 views
0

전체, 여기에서 문서 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-termvectors.html을 보면 요청을하는 방법이 여러 가지 있습니다..Net 클라이언트 중첩을 사용하는 MultiTermVectorsRequest

나는

MultiTermVectorsRequest tvr = new MultiTermVectorsRequest() 
{    
    Documents = Enumerable.Range(1,2).Select(n => new MultiTermVectorOperation<Tweet>(n) 
    { 
     StoredFields = new [] {"message"}, 
     Index = "twitter", 
     FieldStatistics = false, 
     TermStatistics = true, 
     Positions = false, 
     Offsets = false 
    }) 
}; 

로 POST/_mtermvectors을 할 수 있으며, 내 질문은 내가 어떻게 게시물에 대한 요청을 변경합니까있다

{ 
    "docs": [ 
    { 
     "_index": "twitter", 
     "_type": "tweet", 
     "_id": 1, 
     "fields": [ 
     "message" 
     ], 
     "offsets": false, 
     "positions": false, 
     "term_statistics": true, 
     "field_statistics": false 
    }, 
    { 
     "_index": "twitter", 
     "_type": "tweet", 
     "_id": 2, 
     "fields": [ 
     "message" 
     ], 
     "offsets": false, 
     "positions": false, 
     "term_statistics": true, 
     "field_statistics": false 
    } 
    ] 
} 

것 같습니다/트위터/짹짹/_mtermvectors 보이는 있도록 like

{ 
    "ids" : ["1", "2"], 
    "parameters": { 
     "fields": [ 
       "message" 
     ], 
     "term_statistics": true 
    } 
} 

문자열 배열로 지정된 ID를 사용하여 다시 요청하면 단일 요청이되도록하고 싶습니다. 요청 크기를 늘리십시오. 또한이 요청에 min_doc_frequency와 같은 필터를 어떻게 추가 할 수 있습니까?

도움 주셔서 감사합니다.

답변

0

높은 수준의 클라이언트에서는 "ids""parameters"을 포함한 형식이 지원되지 않습니다. 이 응답을, 덕분에 비록 낮은 수준의 클라이언트를 보내 내가 지금 뭐하는 거지 즉 높은 수준의 응답

var response = client.LowLevel.Mtermvectors<MultiTermVectorsResponse>(
    "twitter", 
    "tweet", 
    new 
    { 
     ids = new [] { "1", "2" }, 
     parameters = new 
     { 
      fields = new [] { "message" }, 
      term_statistics = true 
     } 
    }); 

var highLevelResponse = response.Body; 
+0

을 다시 반환 할 수 있습니다. – sramalingam24