我正在创建一个企业搜索引擎。我正在使用Solr创建搜索引擎,并使用JSP为前端创建SolrJ。我想对我的搜索结果应用分页。我从solr core获取结果的代码如下。
while(iter.hasNext())
{
SolrDocument doc1 =iter.next();
String dc =iter.next().toString();
out.println(doc1.getFieldValue("id"));
out.println(doc1.getFieldValue("title"));
out.println("<BR>");
out.println("content_type :");
out.println(doc1.getFieldValue("content_type"));
out.println("<BR>");
out.println("doc_type :");
out.println(doc1.getFieldValue("doc_type"));
} %>
我的搜索引擎中有600条记录。如果搜索特定关键字,则与其相关的所有记录都会出现在单页上。任何机构都可以建议我使用javascript进行分页的逻辑。我想使用客户端分页。请帮忙。
答案 0 :(得分:0)
创建solr查询时,您可以设置开始和行,例如:
SolrQuery query = new SolrQuery(searchTerm);
query.setStart((pageNum - 1) * numItemsPerPage);
query.setRows(numItemsPerPage);
// execute the query on the server and get results
QueryResponse res = solrServer.query(solrQuery);
此外,每次执行iter.next()时,您都在读取Iterator中的下一个元素。因此,通过做
SolrDocument doc1 =iter.next();
String dc =iter.next().toString();
你正在滑动一个元素。请参阅:here