solrJ를 사용하여 solr 컬렉션에서 모든 doc을 가져 오는 방법을 묻습니다.
하나의 코드를 작성했지만 오류가 발생했습니다
"main"스레드에서 예외가 발생했습니다. org.apache.solr.client.solrj.SolrServerException : 요청시 콜렉션 매개 변수가 지정되지 않았으며 기본 콜렉션이 설정되지 않았습니다.커서로 Solr/Solrj 페이지 매김
String zkHostString = "linux152:2181,linuxUL:2181,linux170:2181/solr";
CloudSolrClient server = new CloudSolrClient(zkHostString);
SolrQuery parameters = new SolrQuery();
public void cursorMark() throws IOException, SolrServerException {
SolrQuery parameters = new SolrQuery();
QueryResponse response = new QueryResponse();
response = server.query(parameters);
parameters.set("q",":");
parameters.set("qt","/select");
parameters.setParam("wt","json");
parameters.set("collection", "RetailDev_Protocol");
int fetchSize = 2;
parameters.setRows(fetchSize);
String cursorMark = CursorMarkParams.CURSOR_MARK_START;
boolean done = false;
while (! done) {
parameters.set(CursorMarkParams.CURSOR_MARK_PARAM, cursorMark);
long offset = 0;
long totalResults = response.getResults().getNumFound();
while (offset < totalResults)
{
parameters.setStart((int) offset);
try {
for (SolrDocument doc : server.query(parameters).getResults())
{
log.info((String) doc.getFieldValue("title"));
}
} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
offset += fetchSize;
}
String nextCursorMark = (response).getNextCursorMark();
}
SolrDocumentList list = response.getResults();
System.out.println(list.toString());
}
Solr에서 올바르게 페이지 매김을 구현하는 것은 매우 어렵습니다.이 게시물을 작성했습니다. http://stackoverflow.com/questions/16992296/solr-solrj-pagination/37648027#37648027 – freedev