Subversion Repositories SmartDukaan

Rev

Rev 7132 | Rev 8280 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7132 Rev 8275
Line 7... Line 7...
7
import in.shop2020.config.ConfigException;
7
import in.shop2020.config.ConfigException;
8
import in.shop2020.serving.controllers.SearchController;
8
import in.shop2020.serving.controllers.SearchController;
9
import in.shop2020.serving.utils.Utils;
9
import in.shop2020.serving.utils.Utils;
10
import in.shop2020.thrift.clients.config.ConfigClient;
10
import in.shop2020.thrift.clients.config.ConfigClient;
11
 
11
 
-
 
12
import java.io.UnsupportedEncodingException;
-
 
13
import java.net.URLEncoder;
12
import java.util.ArrayList;
14
import java.util.ArrayList;
13
import java.util.Arrays;
15
import java.util.Arrays;
14
import java.util.Collections;
16
import java.util.Collections;
15
import java.util.HashMap;
17
import java.util.HashMap;
16
import java.util.HashSet;
18
import java.util.HashSet;
Line 175... Line 177...
175
		if(facetqueries != null) {
177
		if(facetqueries != null) {
176
			//sorting will guarantee all similar facets together so that we can assume or between all similar items without fail.
178
			//sorting will guarantee all similar facets together so that we can assume or between all similar items without fail.
177
			Arrays.sort(facetqueries);
179
			Arrays.sort(facetqueries);
178
			String fq="";
180
			String fq="";
179
			for(int i=0; i<facetqueries.length; i++) {
181
			for(int i=0; i<facetqueries.length; i++) {
-
 
182
				String value = "";
180
				String[] tokens = facetqueries[i].split(":");
183
				String[] tokens = facetqueries[i].split(":");
-
 
184
				try {
-
 
185
					value = URLEncoder.encode(tokens[1], "UTF-8");
-
 
186
				} catch (UnsupportedEncodingException e) {
-
 
187
					// TODO Auto-generated catch block
-
 
188
					e.printStackTrace();
-
 
189
				}
181
				if(facetsQueried.contains(tokens[0])) {
190
				if(facetsQueried.contains(tokens[0])) {
182
					uri += " OR ";
191
					uri += " OR ";
183
					if(facetqueries[i].contains(" ")){
192
					if(facetqueries[i].contains(" OR ")){
184
						uri +=  "\"" + tokens[1] + "\"";
193
						fq +=  tokens[0] + ":\"" + tokens[1] + "\"";
185
					}else{
194
					}else{
186
						uri += facetqueries[i];
195
						fq += tokens[0] + ":" + value;
187
					}
196
					}
-
 
197
					uri += "&fq=" + fq;
188
					
198
					
189
				} else {
199
				} else {
190
					fq = "{!tag=dt" + facetsQueried.size() + "}";
200
					fq = "{!tag=dt" + facetsQueried.size() + "}";
191
					facetsQueried.add(tokens[0]);
201
					facetsQueried.add(tokens[0]);
192
					if(facetqueries[i].contains(" ") && !(facetqueries[i].contains(" OR "))){
202
					if(facetqueries[i].contains(" OR ")){
193
						fq +=  tokens[0] + ":\"" + tokens[1] + "\"";
203
						fq +=  tokens[0] + ":\"" + tokens[1] + "\"";
194
					}else{
204
					}else{
195
						fq += facetqueries[i] + "";
205
						fq += tokens[0] + ":" + value;
196
					}
206
					}
197
					uri += "&fq=" + fq;
207
					uri += "&fq=" + fq;
198
				}
208
				}
199
			}
209
			}
200
		}
210
		}