2016-08-31 5 views
0

, 심지어 가장 간단한 쿼리 *:*, 나는 오류 메시지SolrJ 잘못된 내용 유형

Exception in thread "main" org.apache.solr.client.solrj.SolrServerException: Error executing query 
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:100) 
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301) 
at com.atmire.dspace.versioning.ModificationLogger.search(ModificationLogger.java:294) 
at com.atmire.dspace.versioning.ModificationsReporter.main(ModificationsReporter.java:92) 
Caused by: org.apache.http.ParseException: Invalid content type: 
at org.apache.http.entity.ContentType.parse(ContentType.java:233) 
at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:496) 
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210) 
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:206) 
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:91) 
... 3 more 

를 얻을 :

curl http://localhost:8080/solr/versioning/select\?q\=\*%3A\*\&wt\=json\&indent\=true

나는 쿼리가 자바에서 작동하지 않을 이유에 매우 혼란 스러워요. 관련 자바 코드는

SolrQuery query = new SolrQuery().setQuery("*:*"); 
    query.setRows(rpp).setStart(start); 
    QueryResponse queryResponse = solr.query(query); 
    return queryResponse.getResults(); 

이 SolrQuery도 SOLR가 명시 적으로 내가 API 문서에서 찾을 수 적어도, 컨텐츠 유형을 설정하는 옵션이 보인다. 게다가, Content-Type을 speicfy해야만한다면 wt=json을 추가하지 않아도 실제로 컬 (curl)로 작동한다는 것이 놀랍습니다. 나는 그것이 응답이 아니라 요청이라고 생각합니다.

+1

서버 측 Solr 로그 (Solr 제외)가 오류를 생성하는지 확인 했습니까? SolrJ가 예상대로 바이너리 응답을 얻지 못하는 경우 (SolrJ는 직렬화 된 POJOs IIRC를 사용함) 발생할 수 있습니다. Solr 로그는 SolrJ로부터받은 Solr 요청을 정확하게 보여줄 것입니다. – MatsLindh

+0

'server '가 어떻게 생성되었는지 코드 부분을 추가 하시겠습니까? 아마도 임베디드 무언가를 사용하고있을 것입니다. 그러나 당신은 무언가를 원격으로 목표로 삼고 있습니다. – cheffe

답변

1

솔라 서버를 실제로 가리키고 있지 않은 것 같습니다. 이전 코드를 다시 한 번 확인하고 올바른 호스트 및 포트 (기본 설정이 아님)와 올바른 컬렉션을 올바르게 설정하고 있는지 확인하십시오.