身安不如心安,屋宽不如心宽 。

产品筛选项互相影响问题

Elasticsearch | 作者 iwtbafp | 发布于2017年11月21日 | 阅读数:2419


1511229723(1).jpg

如图,es按照产品线为type索引的筛选项的urlcode,每个产品的数据为一个文档,文档中urlcodes字段为当前产品所符合的筛选项的urlcode拼接而成的字符串,例如iphone7这个产品,urlcodes字段为"apple,ios,4000up,zwsb........",查询时应该使用must,也就是说 "ios 5000up",去查type为mobiephone的文档的urlcodes字段,返回的文档集应该都是包含ios 和 5000up两个筛选项的文档,那么通过分组,能取到满足ios和5000up的所有其它筛选条件下的筛选项,但是系统和价格这两个筛选条件只能找到ios 和5000up两个筛选项,这是不应该的,并且这两个筛选项之间又是互相影响的,例如只选择价格筛选条件下的5000up,那么系统条件会显示Android,MS,ios,黑莓等,但是两个都选如图中结果。我该如何得到图中的结果。或者有什么其它索引创建的方式。
 
实际上筛选条件和筛选项之间的对应关系并没有索引,因为每个产品线筛选条件不同。
 
 
已邀请:

medcl - 今晚打老虎。

赞同来自:

这描述看得实在太累,你直接贴个 doc 的文档结构要好的多。
这个更多是 UI 和业务的处理问题。
从操作层面的理解来说,这些条件肯定是互相影响的。
所以,你的界面上面,必须进行绑定更新,界面展示的可选项应该都是来自聚合结果。这样都可以可以操作的。
如果一定要显示不可操作的选项,那也必须让他不可操作,变成灰色等等。
否则,这些条件放在那里,又不能点,用户都会被你搞晕。

要回复问题请先登录注册