我们现在来看一个案例,当我们用普通查询查询上海理工大学时,会发生什么?截屏2021-05-12 上午11.12.41.png截屏2021-05-12 上午11.12.51.png
    我们会发现显示结果是4条,可是我们明明只有一条上海理工大学,这是为什么呢?原因是当我们的es在进行创建文档时,他会自动给我们的内容进行分片组合,虽然这里我们查询的是上海理工大学,但其实在es中会返回给我们所有和文档中包含上,上海,上海理,上理工,上大学,大学等等组合分片词汇的文档,这也就是为什么我们明明搜索的是上海理工大学,却会返回给我们全部的文档,那现在的问题是如果我只想查询上海理工大学,我应该怎么做呢,很简单,让我们继续往下看。截屏2021-05-12 上午11.18.39.png
    我们发现当我们把match改成match_phrase的时候,我们就实现了完全匹配。

    那我们可以发现其实在百度搜索的时候,很多时候的返回结果都是高亮显示的,那我们应该如何实现这种高亮显示呢?
    截屏2021-05-12 上午11.22.43.png
    我们需要注意的是highlight和queryz在Json中是同一级别的。fields代表想要高亮的元素属性
    截屏2021-05-12 上午11.22.52.png
    从显示结果这里可以看出,在回显结果的时候会自动帮我嗯添加一个高亮元素。