优化搜索结果: ik_max_word分词模式与规格统计

版权申诉
0 下载量 53 浏览量 更新于2024-07-02 收藏 2.1MB DOCX 举报
在这个文档中,主要讨论了如何通过修改分词模式来优化商品搜索结果,特别是在处理品牌和规格统计方面的改进。原来的分词模式"ik_smart"导致在搜索"智能手机"时,结果没有正确地拆分出"智能"和"手机"两个关键词,因此效果不理想。为了解决这个问题,作者将SkuInfo中name字段的分词模式改为"ik_max_word",这个模式通常用于保留完整的词语,以便更准确地捕捉搜索意图。 在商品搜索功能中,除了基本的关键词搜索外,还涉及到品牌和规格的统计与筛选。在`SkuEsServiceImpl`的`searchByKeywords`方法中,作者首先添加了搜索条件,包括从搜索结果中提取规格(spec)集合,并将其存储在`specMap`中。由于搜索结果是JSON字符串,每个结果都需要解析为Map以便访问其中的规格信息。如果没有找到对应集合,就新建一个并插入;如果有,就直接从`specMap`获取。 针对分类和品牌过滤,作者提出了一种更结构化的参数处理方式。创建了`SearchEntity`类来封装前端传来的多个参数(如`keywords`、`brand`和`category`),使得代码更加清晰。当分类(`category`)或品牌(`brand`)参数非空时,搜索会应用条件筛选,仅展示满足条件的结果,而不进行额外的统计。反之,如果这些参数为空,则执行统计功能。此外,作者提到当前`searchByKeywords`方法的代码较为冗余,后续可能需要进行重构优化。 总结来说,这个文档重点在于调整分词模式以提高搜索精度,同时提供了一个结构化的方式来处理商品搜索中的条件筛选和统计,提升了用户体验。