1
|
<%@page import="java.util.List"%>
|
2
|
<%@page import="eu.dnetlib.domain.EPR"%>
|
3
|
<%@page import="gr.uoa.di.driver.enabling.resultset.ResultSet"%>
|
4
|
<%@page import="eu.dnetlib.api.data.SearchService"%>
|
5
|
|
6
|
<jsp:useBean id="query" class="eu.dnetlib.data.search.web.Query" scope="request">
|
7
|
<jsp:setProperty name="query" property="*"/>
|
8
|
</jsp:useBean>
|
9
|
|
10
|
<% if (query == null) { %>
|
11
|
<jsp:forward page="/"/>
|
12
|
<% } %>
|
13
|
|
14
|
|
15
|
<%@page import="org.apache.commons.lang.StringEscapeUtils"%>
|
16
|
<%@page import="eu.dnetlib.data.search.web.SearchServiceContextUtils"%>
|
17
|
<%@page import="gr.uoa.di.driver.enabling.resultset.ResultSetFactory"%>
|
18
|
<html>
|
19
|
<head>
|
20
|
<title>Index Refine</title>
|
21
|
</head>
|
22
|
<body>
|
23
|
<h1>Index Refine</h1>
|
24
|
Refine for <b>
|
25
|
<% if (query.getQuery() == null || query.getQuery().length() == 0 ) { %>
|
26
|
(empty query)
|
27
|
<% } else { %>
|
28
|
<%=query.getQuery()%>
|
29
|
<% } %>
|
30
|
</b>
|
31
|
<% List<String> fields = query.parseFields(); %>
|
32
|
using <%=(fields==null)?0:fields.size()%>fields: <b><%=fields%></b>
|
33
|
in <a href="services/searchWebService">local search service</a>...<br>
|
34
|
|
35
|
<%
|
36
|
long time = System.currentTimeMillis();
|
37
|
SearchService search = SearchServiceContextUtils.getSearchService(request);
|
38
|
%>
|
39
|
Created index endpoint in <%=System.currentTimeMillis()-time%> ms.<br>
|
40
|
|
41
|
<%
|
42
|
time = System.currentTimeMillis();
|
43
|
EPR epr = search.refine(query.getQuery(), fields);
|
44
|
%>
|
45
|
Index lookup lasted <%=System.currentTimeMillis()-time%> ms.<br>
|
46
|
Returned EPR: <pre><%=StringEscapeUtils.escapeHtml(epr.toString())%></pre><br>
|
47
|
|
48
|
<%
|
49
|
time = System.currentTimeMillis();
|
50
|
ResultSet<String> rs = SearchServiceContextUtils.getResultSetFactory(request).createResultSet(epr);
|
51
|
int count = rs.size();
|
52
|
%>
|
53
|
Total records in result set: <%=count%><br>
|
54
|
Query Numof records lasted <%=System.currentTimeMillis()-time%> ms.<br>
|
55
|
|
56
|
<%
|
57
|
time = System.currentTimeMillis();
|
58
|
List<String> list = null;
|
59
|
int MAX = 50;
|
60
|
if (count > 0) {
|
61
|
list = rs.getElements(1, Math.min(MAX, count));
|
62
|
}
|
63
|
%>
|
64
|
Retrieve top-<%=MAX%> records lasted <%=System.currentTimeMillis()-time%> ms.<br>
|
65
|
|
66
|
Top-<%=MAX%> results:
|
67
|
<table>
|
68
|
<tr><th>Count</th><th>Record</th></tr>
|
69
|
<% for (int i = 0 ; i < MAX && i < count; i++ ) { %>
|
70
|
<tr>
|
71
|
<td><%=i+1%></td>
|
72
|
<td><pre><%=StringEscapeUtils.escapeHtml(list.get(i))%></pre></td>
|
73
|
</tr>
|
74
|
<% } %>
|
75
|
</table>
|
76
|
|
77
|
</body>
|
78
|
</html>
|
79
|
|