亲,只收二进制

如何用es做筛选功能

Elasticsearch | 作者 gh | 发布于2017年12月01日 | 阅读数:2695

需求是,做一个商品的筛选器。
商品是有类型的。
用户要选择一个类型,然后就可以筛选了。
筛选项是绑定到类型上的,但是没有商品的筛选项不要显示出来的。
 
筛选项,可能是单选或者是多选项。
多选的情况下,可以定义是“或”或者“且”的意思。
 
当用户选择了一些筛选项,需要根据筛选结果,隐藏掉没有商品的筛选项。
 
这样一个小需求,应该是有很多人做过的。
已邀请:

hienchu

赞同来自:

根据商品属性建模,每个维度对应一个属性字段,根据选中的字段生成查询就可以了吧

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

单选,单条件检索,多选 bool多条件检索

lengchanguo - 得一爸

赞同来自:

或:
{
  "query": {
    "bool": {
      "should": [
        { "match": { "类型1": "brown" }},
        { "match": { "类型2": "fox"   }},
        { "match": { "类型3": "dog"  }}
      ]
    }
  }
}
 
且:
{
  "query": {
    "bool": {
      "must": [
        { "match": { "类型1": "brown" }},
        { "match": { "类型2": "fox"   }},
        { "match": { "类型3": "dog"  }}
      ]
    }
  }
}

gh

赞同来自:

多谢各位帮助
筛选本身感觉没难度了
难度在于哪些选项应该显示出来,因为没有结果的筛选项会给用户造成困扰。
我们是否应该把所有的选项对应的商品id写在js里面,这样前端做一些交并计算就可以得到结果呢
 

q7867401 - 90IT

赞同来自:

老哥好 我刚接触这一块 有好的学习资料吗、 有群介绍一下 谢谢啊

要回复问题请先登录注册