Subversion Repositories SmartDukaan

Rev

Rev 20221 | Rev 20231 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
20186 kshitij.so 1
package in.shop2020.dtrapi.controllers;
2
 
3
 
20209 kshitij.so 4
import in.shop2020.dtrapi.services.SolrService;
20186 kshitij.so 5
import java.io.IOException;
6
import java.net.URISyntaxException;
7
 
8
import org.apache.log4j.Logger;
9
 
10
import com.eclipsesource.json.Json;
11
import com.eclipsesource.json.JsonArray;
12
 
13
 
14
 
20229 kshitij.so 15
public class SolrSearchController extends BaseController{
20186 kshitij.so 16
	private static Logger log = Logger.getLogger(Class.class);
17
 
18
	private static final long serialVersionUID = 1L;
20209 kshitij.so 19
	private String search_text;
20220 kshitij.so 20
	private String offset;
20209 kshitij.so 21
	private SolrService s =  new SolrService();
20193 kshitij.so 22
 
20186 kshitij.so 23
 
20229 kshitij.so 24
	public String getSuggestions() throws URISyntaxException, IOException{
20186 kshitij.so 25
		try{
20229 kshitij.so 26
			log.info("Calling solr service (auto suggest) for search_text "+search_text);
27
			String jsonString = s.getSuggestions(search_text.trim());
20218 kshitij.so 28
			JsonArray result_json = Json.parse(jsonString).asObject().get("response").asObject().get("docs").asArray();
20216 kshitij.so 29
			setResultJson(result_json.toString());
20186 kshitij.so 30
		}
20209 kshitij.so 31
		catch(Exception e){
32
			e.printStackTrace();
33
			setResultJson(Json.array().asArray().toString());
20186 kshitij.so 34
		}
20209 kshitij.so 35
		return "index";
36
	}
20229 kshitij.so 37
 
38
	public String getSearchResults(){
39
		try{
40
			log.info("Calling solr service (search results) for search_text "+search_text);
41
			String jsonString = s.getSearchResults(search_text.trim(), offset);
42
			JsonArray result_json = Json.parse(jsonString).asObject().get("response").asObject().get("docs").asArray();
43
			setResultJson(result_json.toString());
44
		}
45
		catch(Exception e){
46
			e.printStackTrace();
47
			setResultJson(Json.array().asArray().toString());
48
		}
49
		return "index";
50
	}
20193 kshitij.so 51
 
52
 
20186 kshitij.so 53
	public void setSearch_text(String search_text) {
20213 kshitij.so 54
		log.info("Search text "+search_text);
20186 kshitij.so 55
		this.search_text = search_text;
56
	}
57
 
58
 
59
	public String getSearch_text() {
60
		return search_text;
61
	}
20193 kshitij.so 62
 
20209 kshitij.so 63
 
20186 kshitij.so 64
	public static void main(String[] args) throws URISyntaxException, IOException{
20229 kshitij.so 65
		SolrSearchController a =  new SolrSearchController();
20209 kshitij.so 66
		a.setSearch_text("iphone tempered");
20229 kshitij.so 67
		a.getSuggestions();
20186 kshitij.so 68
		System.out.println(a.getResultJson());
69
	}
20193 kshitij.so 70
 
20220 kshitij.so 71
 
72
	public void setOffset(String offset) {
73
		this.offset = offset;
74
	}
75
 
76
 
77
	public String getOffset() {
78
		return offset;
79
	}
80
 
20186 kshitij.so 81
}