2015-01-23 2 views
0

나는 Elasticsearch에서 흥미로운 문제가 있습니다. 검색을 수행 할 때 유효하지 않은 json을 반환하므로 실행하려고하면 JSON.parse(response) 구문 분석 오류 (Node.js)가 발생합니다. 당신이 _source 재산 후 알 수 있듯이유효하지 않은 JSON을 반환하는 탄성 검색

{ 
    "took":5, 
    "timed_out":false, 
    "_shards": { 
     "total":5, 
     "successful":5, 
     "failed":0 
    }, 
    "hits": { 
     "total":28, 
     "max_score": 1.1264253, 
     "hits": [ 
      { 
       "_index": "myindex", 
       "_type": "v1", 
       "_id":"AUsTvTc0HrKvNpcAkwza", 
       "_score": 1.1264253, 
       "_source": { 
        "term":"Value" 
       }, 
      }, 
      { 
       "_index": "myindex", 
       "_type": "v1", 
       "_id":"BRxvTMggf5NTMnxwzalF", 
       "_score": 0.1328153, 
       "_source": { 
        "term":"Other Value" 
       }, 
      } 
     ] 
    } 
} 

가 해당 개체의 마지막 특성에도 불구하고, 쉼표가 :

는 다음과 같이 응답 데이터가 어떻게 표시되는지를 보여줍니다. 위해

내가 다음 코드를 실행해야이 구문 분석 할 수 있어야합니다 :

var json = response.replace(/,\s+}/g, '}'); 
    json = JSON.parse(json); 

는 그 다음 구문 분석됩니다, 그러나 이것은 단순히 반창고입니다. 내가 알 수없는 것은 은 내 JSON을 반환하는 Elasticsearch입니까?

은 어떤 도움이 많이 감사합니다!

에릭

답변

0

나는이 this one 그것 알려진 버그 유사한 문제이며 경우에 당신 잘못 인덱스 JSON 문서가 나타납니다 생각합니다. 여기에서 수정하면 해당 문서를 제거하고 올바르게 다시 색인화하는 것입니다.

+0

다른 것으로 보입니다. 내 응답에서 원본 개체 외부에 오류가 있습니다. –

+0

그런 경우 해당 문서를 가져 와서 검토 할 수 있습니까? –

관련 문제