如何使用spring mvc的jest获得弹性的特定搜索结果

时间:2016-01-08 12:09:44

标签: elasticsearch jest

这是我的示例代码,但能够获取值,但可能有问题PLZ帮助我 当我搜索搜索表单时,我需要特定的结果..

@Controller
public class SearchController {
ModelAndView mv;
SearchModel log;
@RequestMapping("/Search.htm")

public @ResponseBody ModelAndView getSearchModelList()  throws Exception
{
String clusterIP = "localhost";
String port = "9200";

//setup client
JestClientFactory factory = new JestClientFactory();
factory.setHttpClientConfig(new HttpClientConfig
        .Builder("http://" + clusterIP + ":" + port)
        .multiThreaded(true)
        .build());
JestClient client = factory.getObject();

Search search = new Search.Builder("{  \"query\": { \"match\": {} } }")
        .addIndex("eix")
        .addType("articles")
        .build();
//results print here
JestResult result = client.execute(search);
List<SearchModel> resultLogs =   result.getSourceAsObjectList(SearchModel.class);
for(SearchModel log: resultLogs){
    System.out.println(log);
    mv.addObject("log", log);
}
return mv;

}}

这里是我的jsp code.just打印搜索表单

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Eix</title>

<style type="text/css">
#tfheader{
    background-color:#c3dfef;
}
#tfnewsearch{
    float:right;
    padding:20px;
}
.tftextinput{
    margin: 0;
    padding: 5px 15px;
    font-family: Arial, Helvetica, sans-serif;
    font-size:14px;
    border:1px solid #0076a3; border-right:0px;
    border-top-left-radius: 5px 5px;
    border-bottom-left-radius: 5px 5px;
}
.tfbutton {
    margin: 0;
    padding: 5px 15px;
    font-family: Arial, Helvetica, sans-serif;
    font-size:14px;
    outline: none;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    border: solid 1px #0076a3; border-right:0px;
    background: #0095cd;
    background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5));
    background: -moz-linear-gradient(top,  #00adee,  #0078a5);
    border-top-right-radius: 5px 5px;
    border-bottom-right-radius: 5px 5px;
}
.tfbutton:hover {
    text-decoration: none;
    background: #007ead;
    background: -webkit-gradient(linear, left top, left bottom, from(#0095cc), to(#00678e));
    background: -moz-linear-gradient(top,  #0095cc,  #00678e);
}
/* Fixes submit button height problem in Firefox */
.tfbutton::-moz-focus-inner {
  border: 0;
}
.tfclear{
    clear:both;
}
</style>
</head>
<body>
<form id="tfnewsearch" method="post" action="Search.htm">
<input type="text" class="tftextinput" name="q" size="21" maxlength="120">
<input type="submit" value="search" class="tfbutton">
</form>
<div class="tfclear"></div>

</body>
</html> 

并在此处打印此jsp中的搜索值..

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Eix</title>
<style type="text/css">
</style>
</head>
<body>
<h2>${log}</h2>
</body>
</html> 

0 个答案:

没有答案