搜索语义优化1:match_phrase和match的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜索语义优化1:match_phrase和match的区别相关的知识,希望对你有一定的参考价值。
参考技术A 在调整召回效果的时候,使用普通match得到的召回效果中规中矩,不能说错,但总归觉得不适应比较复杂的实际情况,特别是在没有做语义分析的相关工作情况下,简单的通过中文分词->中文分词,效果上并不尽如人意。结果上看通常是符合逻辑而不符合“人性”的,即使我们通过了一些其他方式对结果进行矫正。而过于复杂的方式也会对性能上造成影响,相信比起一个精心计算的需要等个一两秒的“精致结果”来说,还是一个可以立刻响应的“差不多结果”会更加合适。通过大量的query结果来看,目前的召回方式对于搜索词没有一个总体顺序的感觉,当query被分词以后,所有词的权重都是一样的。举例一个比较奇葩的搜索关键词:“大清 银币”。
能看得到索引中有433个相关结果。
那如果把关键词反过来变成一个不伦不类的关键词呢“银币 大清”
官方文档中关于match_phrase的描述
我们使用的是match_phrase来解决这个问题。
收效还是比较明显的,在AB实验中可以看到用户对于这个更新的反馈还是很不错的。
DSL搜索 - match_phrase
match_phrase 短语匹配
比如 大学 毕业 两个连贯的此进行查询 词语必须连着 才能查出来
结果如下
否则如下图
可以使用slop 参数 跳过多少个词
以上是关于搜索语义优化1:match_phrase和match的区别的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch短语搜索——match_phrase
架构师成长记_第八周_14_dsl搜索 - term, terms, match, match_phrase 等方式检索详解