2012-01-05 5 views
1

저는 타이어와 elasticsearch를 사용하고 있습니다.디버깅 elasticsearch

"org.elasticsearch.search.SearchParseException: [countries][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"query":{"query_string":{"query":"name:"}}}]]" 

"Caused by: org.apache.lucene.queryParser.ParseException: Cannot parse 'name:': Encountered "<EOF>" at line 1, column 5." 

그래서, 내가 elasticsearch하고 서비스 컨테이너를 다시 설치 :이 서비스는이 오류를 반환하고, 그러나 포트 9200를 사용하기 시작했다. 서비스가 잘 시작됩니다. 나는 타이어를 사용하여 검색하면 결과가 내가 어떤 오류 메시지가 나타나지 않습니다 나타납니다 때

지금, 나는 어떤 결과를 얻을 수 없습니다.

아무도 내가 잘못 된 것을 알 수있는 방법을 알고 있습니까?

+0

다시 설치 한 후에 데이터를 다시 색인화 했습니까? – skaffman

+0

nope :) 감사합니다! –

답변

11

우선 평소에는을 다시 색인 할 필요가 없습니다. elasticsearch을 설치하고 구성한 방법에 따라 다르지만 예를 들어 설치하고 업그레이드 할 때 다릅니다. Homebrew으로 데이터가 안전하게 유지됩니다.

둘째, 을 다시 설치할 필요가 없습니다. 보고있는 오류는 주석에 표시된 내용을 의미합니다 (SearchParseException). 귀하의 검색어가 유효하지 않습니다 :

{"query":{"query_string":{"query":"name:"}}} 

검색어가 검색어에 합격하지 않았 음을 확인하십시오. 루비 측면에서

{"query":{"query_string":{"query":"name:foo"}}} 

또는 :

Tire.index('test') { query { string "name:hey" } } 

가 잘못 루씬 쿼리로 인해 오류를 포착하는 방법에 대한 예 this update to the Railscasts episode on Tire를 참조하십시오 당신은 무언가를 전달하는 등이있다.