标签:畅购 疑惑 查询 规格 过滤 key entry spec 商城
一,数据展示疑惑
1,过滤
在查询的时候,会带着过滤条件进行查询,而且每次前端请求后,由于后端获得的条件不同,每次结果也不一样,然后前端进行渲染展示。
2,规格查询疑惑
过滤代码
//规格过滤实现: 为了区分出来是规格,前台传过来的时候前面加一个标志 如:spec_网络=联通3G&
for (Map.Entry<String, String> entry : searchMap.entrySet()) {
String key = entry.getKey();
//如果key以spec开始,表示规格筛选查询
// 参数一是 查询的域,我们选不分词哪个域, 第二个是查询的条件
if (key.startsWith("spec")) {
String value = entry.getValue();
//spec_网络 spec_要去前五个
boolQueryBuilder.must(QueryBuilders.termQuery("specMap." + key.substring(5) + ".keyword", value));
}
}
有关查询看Es实战
这里的这个specMap类型为Map(Stirng,set)域,其实是分别去根据key得到对应的域,然后去根据值查询符合的数据,最后返回给前端。
标签:畅购,疑惑,查询,规格,过滤,key,entry,spec,商城 来源: https://blog.csdn.net/qq_45556655/article/details/117335792
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。