我们现在来看一个案例,当我们用普通查询查询上海理工大学时,会发生什么?
我们会发现显示结果是4条,可是我们明明只有一条上海理工大学,这是为什么呢?原因是当我们的es在进行创建文档时,他会自动给我们的内容进行分片组合,虽然这里我们查询的是上海理工大学,但其实在es中会返回给我们所有和文档中包含上,上海,上海理,上理工,上大学,大学等等组合分片词汇的文档,这也就是为什么我们明明搜索的是上海理工大学,却会返回给我们全部的文档,那现在的问题是如果我只想查询上海理工大学,我应该怎么做呢,很简单,让我们继续往下看。
我们发现当我们把match改成match_phrase的时候,我们就实现了完全匹配。
那我们可以发现其实在百度搜索的时候,很多时候的返回结果都是高亮显示的,那我们应该如何实现这种高亮显示呢?
我们需要注意的是highlight和queryz在Json中是同一级别的。fields代表想要高亮的元素属性
从显示结果这里可以看出,在回显结果的时候会自动帮我嗯添加一个高亮元素。