检索业务:基本数据渲染和排错

简介: 检索业务:基本数据渲染和排错

e77aa6904e014619bc3d8110efe27974.png

采用标签显示商品的数据

                    <div class="rig_tab">
                        <div th:each="product:${result.getProducts()}">
                            <div class="ico">
                                <i class="iconfont icon-weiguanzhu"></i>
                                <a href="/static/search/#">关注</a>
                            </div>
                            <p class="da">
                                <a href="/static/search/#" title="购买AppleCare+,获得原厂2年整机保修(含电池),和多达2次意外损坏的保修服务。购买勾选:保障服务、原厂保2年。">
                                    <img th:src="${product.getSkuImg()}" class="dim">
                                </a>
                            </p>
                            <ul class="tab_im">
                                <li><a href="/static/search/#" title="黑色">
                                    <img th:src="${product.getSkuImg()}" ></a></li>
                            <p class="tab_R">
                                <span th:text="'¥'+${product.skuPrice}">¥5199.00</span>
                            </p>
                            <p class="tab_JE">
                                <a href="/static/search/#" th:utext="${product.skuTitle}" >
                                    Apple iPhone 7 Plus (A1661) 32G 黑色 移动联通电信4G手机
                                </a>
                                </a></p>

<!-- 使用utext标签,使检索时高亮不会被转义-->

           <a href="/static/search/#" th:utext="${product.skuTitle}">

               Apple iPhone 7 Plus (A1661) 32G 黑色 移动联通电信4G手机

           </a>

品牌信息

                <!--品牌-->
                <div class="JD_nav_wrap">
                    <div class="sl_key">
                        <span>品牌:</span>
                    </div>
                    <div class="sl_value">
                        <div class="sl_value_logo">
                            <ul>
                                <li th:each="brand:${result.brands}">
                                    <a href="/static/search/#">
                                        <img th:src="${brand.brandImg}" alt="">
                                        <div th:text="${brand.brandName}">
                                        </div>
                                    </a>
                                </li>
                            </ul>
                        </div>
                    </div>

其他的所有需要展示的属性

                <!--屏幕尺寸-->
                <div class="JD_pre" th:each="attr:${result.attrs}">
                    <div class="sl_key">
                        <span th:text="${attr.attrName}">屏幕尺寸:</span>
                    </div>
                    <div class="sl_value">
                        <ul>
                            <li th:each="val:${attr.attrValue}">
                                <a href="/static/search/#" th:text="${val}">5.56英寸及以上</a>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>

排错

错误结果

25726e043b534f41acce8f1a0a0decf1.png

我们可以看到属性的值并没有出来。按照th遍历发现那玩意是空的,说明返回的结果有问题,查看返回的结果确实是为空,进一步想到会不会是因为请求构造出现了问题,最后发现拿出构造的dls语句去查,也是发现为空,那么进一步确定是查询的dls语句出现了问题,也就是聚合部分出现问题。


"field": "attrs.attrValue",


"field": "attrs.attValue",


发现是 attrValue写成了attValue


错误前代码

//聚合分析出当前attr_id对应的所有可能的属性值
attr_id_agg.subAggregation(AggregationBuilders.terms("attr_value_agg").field("attrs.attValue").size(50));
attr_agg.subAggregation(attr_id_agg);

排错后代码

//聚合分析出当前attr_id对应的所有可能的属性值
attr_id_agg.subAggregation(AggregationBuilders.terms("attr_value_agg").field("attrs.attrValue").size(50));
attr_agg.subAggregation(attr_id_agg);


相关文章
|
3月前
|
JavaScript 前端开发 定位技术
云解析地图作业问题之在搭建页面中简化数据筛选的过程如何解决
云解析地图作业问题之在搭建页面中简化数据筛选的过程如何解决
29 0
|
5月前
|
数据库 监控 关系型数据库
|
5月前
|
NoSQL MongoDB 数据库
MongoDB 更新文档:灵活修改数据,实时响应需求变化
MongoDB 更新文档:灵活修改数据,实时响应需求变化
|
算法 前端开发
检索项目中冗余的图片
检索项目中冗余的图片
39 0
|
SQL Java 关系型数据库
从系统报表页面导出20w条数据到本地只用了4秒,我是如何做到的
最近有个学弟找到我,跟我描述了以下场景: 他们公司内部管理系统上有很多报表,报表数据都有分页显示,浏览的时候速度还可以。但是每个报表在导出时间窗口稍微大一点的数据时,就异常缓慢,有时候多人一起导出时还会出现堆溢出。 他知道是因为数据全部加载到jvm内存导致的堆溢出。所以只能对时间窗口做了限制。以避免因导出过数据过大而引起的堆溢出。最终拍脑袋定下个限制为:导出的数据时间窗口不能超过1个月。
|
缓存 负载均衡 监控
php开发中大数据量优化的问题总结(1):smarty循环优化、API掉包丢失数据排查、负载平衡配置
php开发中大数据量优化的问题总结(1):smarty循环优化、API掉包丢失数据排查、负载平衡配置
154 0
|
存储 监控 Oracle
定位任意时刻性能问题,持续性能分析实践解析
定位任意时刻性能问题,持续性能分析实践解析
定位任意时刻性能问题,持续性能分析实践解析
|
数据采集 分布式计算 监控
网站流量日志分析—数据入库—含义和 ETL 本质解释|学习笔记
快速学习网站流量日志分析—数据入库—含义和 ETL 本质解释
423 0
网站流量日志分析—数据入库—含义和 ETL 本质解释|学习笔记
|
数据采集 NoSQL 前端开发
数据处理-链路统计-数据库到前端展现|学习笔记
快速学习数据处理-链路统计-数据库到前端展现
数据处理-链路统计-数据库到前端展现|学习笔记
下一篇
无影云桌面