Rev 24995 | Rev 33873 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.web.services;import java.io.IOException;import java.io.InputStream;import java.net.URISyntaxException;import java.net.URL;import org.apache.commons.io.IOUtils;import org.apache.http.client.utils.URIBuilder;import org.apache.logging.log4j.Logger;import org.apache.logging.log4j.LogManager;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Component("solrService")public class SolrService{private static final Logger logger=LogManager.getLogger(SolrService.class);@Value("${solr.url}")private String SOLR_URL;private static final String limit ="20";private static final String groupLimit = "10";private static final String autoSuggestField = "title,subCategoryId,category_id,category,subCategory,score";private static final String searchResultsField = "title,skuBundleId,id,thumbnail,ids";private static final String outputFormat = "json";public String getSuggestions(String search_text) throws URISyntaxException, IOException{URIBuilder autoSuggestUrl = new URIBuilder(SOLR_URL);autoSuggestUrl.addParameter("fl", autoSuggestField); //Fields to chooseautoSuggestUrl.addParameter("wt", outputFormat); //Output formatautoSuggestUrl.addParameter("group", "true"); //group dataautoSuggestUrl.addParameter("group.query", "category_id:3"); //group by categoryautoSuggestUrl.addParameter("group.query", "category_id:5"); //group by categoryautoSuggestUrl.addParameter("group.field", "subCategoryId"); //group by subCategoryautoSuggestUrl.addParameter("group.limit", groupLimit);autoSuggestUrl.addParameter("q", "suggest:("+search_text+")");URL url = autoSuggestUrl.build().toURL();logger.info("Auto Suggest Solr");InputStream is = url.openStream();String jsonString;try{jsonString = IOUtils.toString(is, "UTF-8");}finally{is.close();}return jsonString;}public String getSearchResults(String search_text, int offset) throws URISyntaxException, IOException{URIBuilder generalSearchUrl = new URIBuilder(SOLR_URL);generalSearchUrl.addParameter("q", search_text);generalSearchUrl.addParameter("fl", searchResultsField); //Fields to choosegeneralSearchUrl.addParameter("wt", outputFormat); //Output formatgeneralSearchUrl.addParameter("rows", limit); //limitgeneralSearchUrl.setParameter("start", String.valueOf(offset));URL url = generalSearchUrl.build().toURL();InputStream is = url.openStream();String jsonString;try{jsonString = IOUtils.toString(is, "UTF-8");}finally{is.close();}return jsonString;}}