背景:
因为公司接了多个渠道的接口,加上本地化所有渠道的商品,被迫写了一个搜索功能,虽然大部分代码是笔者这个彩笔写的,但是依旧有些不懂的地方,自己总结一番。
首先本地化商品的不足之处就是数据的时效属性的问题,比如上下架状态、商品库存、商品的价格等属性。我这里的本地化只是将数据的大多数不会改变的数据做了本地化保存,具体如何保存就不赘述了。
-------------------------------------------------------正题开始分割线---------------------------------------------
本搜索功能基于ElasticSearch引擎的搜索功能。当然为了方便看到DSL语言的匹配结果,增加了Kibana图形化界面方便笔者查看搜索问题。
一、搜索逻辑图:
二、部分步骤思路说明:
1.关键字去特殊符号:
根据正则表达式 留取中文、数字、字母及空格。
2.关键字分词:
根据词库进行切词。(词库:商品的分类,品牌及其同义词;mall_search_dict)。
3.查词库: