Project

General

Profile

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

    
(5-5/6)