AutoCompleteRequest.java
Home
/
sm-shop /
src /
main /
java /
com /
salesmanager /
shop /
store /
model /
search /
AutoCompleteRequest.java
package com.salesmanager.shop.store.model.search;
import org.json.simple.JSONObject;
public class AutoCompleteRequest {
//private String collectionName;
//private String query;
//private String filter;
private String merchantCode;
private String languageCode;
private final static String WILDCARD_QUERY = "wildcard";
private final static String KEYWORD = "keyword";
private final static String UNDERSCORE = "_";
private final static String ALL = "*";
private final static String TYPE = "type";
private final static String ANALYZER = "analyzer";
private final static String STD_ANALYZER = "standard";
private final static String TYPE_PHRASE = "phrase_prefix";
private final static String QUERY = "query";
private final static String MATCH = "match";
public AutoCompleteRequest(String merchantCode, String languageCode) {
this.merchantCode = merchantCode;
this.languageCode = languageCode;
}
@SuppressWarnings("unchecked")
public String toJSONString(String query) {
//{"query": {"match": {"keyword": {"query": "spr","analyzer": "standard"}}}}
JSONObject keyword = new JSONObject();
JSONObject q = new JSONObject();
JSONObject mq = new JSONObject();
JSONObject match = new JSONObject();
q.put(QUERY, query);
//q.put(TYPE, TYPE_PHRASE);
q.put(ANALYZER, STD_ANALYZER);
keyword.put(KEYWORD, q);
match.put(MATCH, keyword);
mq.put(QUERY, match);
//StringBuilder qValueBuilder = new StringBuilder();
//qValueBuilder.append(query.toLowerCase()).append(ALL);
//q.put(KEYWORD, qValueBuilder.toString());
//wildcard.put(WILDCARD_QUERY, q);
return mq.toJSONString();
}
/** keyword_en_default **/
public String getCollectionName() {
StringBuilder qBuilder = new StringBuilder();
qBuilder.append(KEYWORD).append(UNDERSCORE).append(getLanguageCode()).append(UNDERSCORE)
.append(getMerchantCode());
return qBuilder.toString().toLowerCase();
}
public String getMerchantCode() {
return merchantCode;
}
public void setMerchantCode(String merchantCode) {
this.merchantCode = merchantCode;
}
public String getLanguageCode() {
return languageCode;
}
public void setLanguageCode(String languageCode) {
this.languageCode = languageCode;
}
}