1.环境配置
网上已经有很多elasticsearch、ik分词、 node、egg等基本环境。不在多写了。
2.效果演示
有点累。页面随便画画,主要看功能。各位看官别介意。
1.输入小米搜索,有高亮效果
品牌、分类、规格通过聚合出来。搜索框不能为空。
2.选择规格实现的效果。
3.把价格区间选上。实现了商品的规格选中。
小米13商品对应规格:“红”,"4g"是3600.“红”,"8g"是4090
3.核心代码实现
//规格参数解析拼接到es: attrs=内存_4g:8g,颜色_红
if(attrs!=null&&attrs!=undefined&&attrs!=""){
const arr = attrs.split(",");
for (let i = 0;i<arr.length&&arr[i]!="";i++){
let attr = arr[i].split("_");
query[attr[0]]=attr[1].split(":");
filters.push({
"nested": {
"path": "attrValueList", "query": {
"bool": {
"filter": [
{
"term": {
"attrValueList.name": attr[0