2014-02-26 4 views
1

NEST API (v0.12.0.0)을 ElasticSearch (v1.0.1) 색인과 인터페이스하는 데 사용할 데이터를 검색 할 때 JsonSerializationException을 받기 시작했습니다. 이것이 NEST 문제인지 아닌지는 잘 모르겠지만, 무작위로 시작되었지만 구현이나 인프라를 크게 변경하지 않았습니다.ElasticSearch에 대한 NEST - 데이터 검색시 JSONSerializationException

입력 된 검색 <>()을 사용하여 내 데이터의 ID (GUID로 저장 됨)를 검색하려고하는데 JSON.NET에서 데이터를 처리 할 때 예외가 발생합니다. 의미에서 수동으로이 같은 쿼리를 실행

client.Search<ESEventItem>(s => 
      s.Index("dev-events004") 
      .Fields(f => f.Id).Size(100000) 
      .Type("event").MatchAll()).Documents.ToList() 

JsonSerializationException

눈에 띄는 문제가 발생하지 :

POST /dev-events004/event/_search 
{ 
    "size": 100000, 
    "query": { 
    "match_all": {} 
    }, 
    "fields": [ 
    "id" 
    ] 
} 

{ 
    "took": 2088, 
    "timed_out": false, 
    "_shards": { 
     "total": 5, 
     "successful": 5, 
     "failed": 0 
    }, 
    "hits": { 
     "total": 19257, 
     "max_score": 1, 
     "hits": [ 
     { 
      "_index": "dev-events004", 
      "_type": "event", 
      "_id": "670a1055-cbe3-480e-b807-a2b500f9dfb3", 
      "_score": 1, 
      "fields": { 
       "id": [ 
        "670a1055-cbe3-480e-b807-a2b500f9dfb3" 
       ] 
      } 
     }, 
     /* ... additional results ... */ 
     ] 
    } 
} 

을 나는 원시, 형식화되지 않은 쿼리를 수행 할 경우 Fields(new[] { "Id" })을 exce를 던지지 않는다. . 마찬가지로 Id 필드가 아닌 전체 ESEventItem 객체를 반환하면 예외없이 작동합니다. NEST (네스트) 개발자에게


:이 질문은 issue on the github project로 미러링됩니다.

+0

원본에서 NEST를 최신 버전으로 업데이트하면이 문제가 발생하지 않지만 해당 버전은 아직 안정적이지 않습니다. –

답변

2

elasticsearch 1.0이 필드 반환 방법을 변경했기 때문입니다. 최신 NEST 1.0이이를 지원할 것입니다.

관련 문제