本文主要对模糊搜索如何支持查询分析以及配置干预词典的使用场景及搜索语法进行系统的介绍,方便大家理解。
什么场景下适合使用模糊搜索+查询分析?
用户在配置了模糊搜索分析器的情况下并不能很好的满足业务需要并出现了一下bad_case,希望通过查询分析可以优化解决,但是由于模糊搜索本身就是扩大召回范围,以非精确性的方式召回数据,并且系统限制了SHORT_TEXT类型的字段配置的索引不支持配置查询分析。但是我们可以通过创建多个不同数据类型的字段并配置多个不同分析器的索引来解决这个问题,下文将详细介绍该方法的配置演示流程。
注意:
-
查询分析-停用词功能不适用于该场景
配置步骤
-
在实例管理页找到需要配置的应用并点击详情,然后点击线下变更,进入应用变更页面开始配置。
-
添加多个字段(需要查询的字段,其中brand字段设置为SHORT_TEXT类型,brand_text字段设置为TEXT类型,两个字段都将会映射数据源中的brand字段),点击下一步。应用变更流程分为应用结构、索引结构、数据源三个步骤,当前为第一步应用结构配置。
3. 在配置索引结构界面添加brand索引对应brand字段,分析方式选择模糊分析,再添加brand_text索引对应brand_text字段,分析方式选择中文-通用分析,然后点击下一步
4. 在配置数据源界面点击编辑,配置好brand(映射数据源的brand字段)和brand_text(也是映射数据源的brand字段)以及所有新添加的应用结构字段和数据源的字段的映射关系,然后点击完成即可。5. 等待线下版本完成创建,当状态变成正常时,就可以配置查询分析了。在左侧导航栏选择搜索算法中心 > 召回配置 > 查询分析,进入查询分析配置页面,单击右上角创建按钮新建查询分析规则。
6.查询分析配置图:功能选择我们选择同义词,并选择同义词干预词典,规则名称设置为brand_qp,索引范围选择brand_text,行业类型选择通用,Query改写策略选择AND。词典使用勾选系统内置词典,干预词典选择已创建的同义词词典,单击确定完成规则创建。7.配置流程基本完成了,现在我们来添加一条同义词干预词条来测试一下效果。进入词典管理页面,单击新增干预词条,设置Query为soso,同义词为搜索,保存后状态变为已生效。8.测试效果对比:
query:brand_text:'soso' OR brand:'soso'
未添加查询分析参数brand_qp:在搜索测试页面执行查询,搜索结果为0条,未找到相关内容。
添加查询分析参数brand_qp:搜索结果为2条。查询词通过同义词扩展将soso映射为搜索,成功召回brand字段值为搜索和搜索引擎的记录,验证了同义词干预生效。