|
@@ -77,7 +77,6 @@ public class SearchOpenService {
|
|
|
* @throws OpenSearchException exp
|
|
|
*/
|
|
|
public JSONObject getResultJsonObject(String queryStr, SearchParams searchParams) throws OpenSearchClientException, OpenSearchException {
|
|
|
- log.info("【阿里云开放搜索】查询参数:"+ searchParams.toString());
|
|
|
// 创建并构造OpenSearch对象
|
|
|
OpenSearch openSearch = new OpenSearch(accesskey, secret, host);
|
|
|
// 创建OpenSearchClient对象,并以OpenSearch对象作为构造参数
|
|
@@ -101,7 +100,6 @@ public class SearchOpenService {
|
|
|
JSONObject result = jsonObj.getJSONObject("result");
|
|
|
JSONArray errors = jsonObj.getJSONArray("errors");
|
|
|
log.info(">>>>>>query(" + queryStr + "): " + status + ",request_id=" + requestId + ",errors=" + errors.toString() + ",tracer=" + tracer);
|
|
|
- log.info("查询结果---------------------------------------------》result: "+result.toString());
|
|
|
if ("OK".equals(status)) {
|
|
|
result.put("status", 1);
|
|
|
} else {
|
|
@@ -225,7 +223,7 @@ public class SearchOpenService {
|
|
|
config.setStart(num - 1);
|
|
|
config.setHits(size);
|
|
|
// 设置搜索结果返回应用中哪些字段
|
|
|
- config.setFetchFields(Lists.newArrayList("id", "p_id", "p_name", "p_image", "p_brand_name", "p_unit", "p_code", "p_price_flag", "p_price_grade", "p_supplier_id", "p_keyword", "p_act_flag", "p_brand_id","p_product_type","p_newvalidflag"));
|
|
|
+ config.setFetchFields(Lists.newArrayList("id", "p_id", "p_name", "p_image", "p_brand_name", "p_unit", "p_code", "p_price_flag", "p_price_grade", "p_supplier_id", "p_keyword", "p_act_flag", "p_brand_id", "p_product_type", "p_newvalidflag"));
|
|
|
// 注意:config子句中的rerank_size参数,在Rank类对象中设置
|
|
|
// 设置返回格式为json格式
|
|
|
config.setSearchFormat(SearchFormat.JSON);
|
|
@@ -253,7 +251,10 @@ public class SearchOpenService {
|
|
|
} else if (identity == 4) {
|
|
|
// 普通机构
|
|
|
thisFilter += "(p_visibility=2 OR p_visibility=3) AND p_valid=2 AND p_type=1";
|
|
|
- } else {
|
|
|
+ } else if (6 == identity) {
|
|
|
+ //供应商自己主页看商品,不对商品状态进行限制
|
|
|
+ thisFilter += "p_type=1";
|
|
|
+ }else {
|
|
|
// 游客|所有人
|
|
|
thisFilter += "p_visibility=3 AND p_valid=2 AND p_type=1";
|
|
|
}
|
|
@@ -337,7 +338,7 @@ public class SearchOpenService {
|
|
|
// config.setStart(0) scroll该参数不起作用,默认为0
|
|
|
config.setHits(size);
|
|
|
// 设置搜索结果返回应用中哪些字段
|
|
|
- config.setFetchFields(Lists.newArrayList("id", "p_id", "p_name", "p_image", "p_brand_name", "p_unit", "p_code", "p_price_flag", "p_price_grade", "p_supplier_id", "p_keyword", "p_act_flag", "p_brand_id","p_product_type"));
|
|
|
+ config.setFetchFields(Lists.newArrayList("id", "p_id", "p_name", "p_image", "p_brand_name", "p_unit", "p_code", "p_price_flag", "p_price_grade", "p_supplier_id", "p_keyword", "p_act_flag", "p_brand_id", "p_product_type"));
|
|
|
// 设置返回格式为json格式
|
|
|
config.setSearchFormat(SearchFormat.JSON);
|
|
|
// 创建参数对象
|
|
@@ -349,18 +350,21 @@ public class SearchOpenService {
|
|
|
// identity: 0个人,1协销,2会员机构,3供应商,4普通机构,5医美机构
|
|
|
// p_valid:0逻辑删除 1待审核 2已上架 3已下架 8审核未通过 9已隐身 10已冻结
|
|
|
// p_visibility:3:所有人可见,2:普通机构可见,1:会员机构可见,4:仅医美机构可见
|
|
|
- if (identity == 1) {
|
|
|
+ if (1 == identity) {
|
|
|
// 协销 | 综合供应商
|
|
|
thisFilter += "(p_valid=2 OR p_valid=3 OR p_valid=9) AND p_type=1";
|
|
|
- } else if (identity == 5) {
|
|
|
+ } else if (5 == identity) {
|
|
|
// 医美机构
|
|
|
thisFilter += "p_valid=2 AND p_type=1";
|
|
|
- } else if (identity == 2) {
|
|
|
+ } else if (2 == identity) {
|
|
|
// 会员机构
|
|
|
thisFilter += "(p_visibility=1 OR p_visibility=2 OR p_visibility=3) ANDp_valid=2 AND p_type=1";
|
|
|
- } else if (identity == 4) {
|
|
|
+ } else if (4 == identity) {
|
|
|
// 普通机构
|
|
|
thisFilter += "(p_visibility=2 OR p_visibility=3) AND p_valid=2 AND p_type=1";
|
|
|
+ } else if (6 == identity) {
|
|
|
+ //供应商自己主页看商品,不对商品状态进行限制
|
|
|
+ thisFilter += "p_type=1";
|
|
|
} else {
|
|
|
// 游客|所有人
|
|
|
thisFilter += "p_visibility=3 AND p_valid=2 AND p_type=1";
|