ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
关于索引的API操作详解
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
关于文档的API操作详解
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
查询小贴士
elasticsearch7.XQueryBuilders.termQuery()查询中文没有值?
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
我的字段是 name 和 age
QueryBuilder queryBuilder = QueryBuilders.termQuery(“name.keyword”, “淘宝”);
name 是你的字段名 其实真正的精准搜索值在字段名在的keyword
但是这种方式下,你必须输入完整的 字段名字,缺少一部分都会查不出来
这种方式不好
所以使用:matchPhraseQuery 实现精准查询
MatchPhraseQueryBuilder title = QueryBuilders.matchPhraseQuery("title", keyword);
也可以使用:matchPhrasePrefixQuery
QueryBuilders.matchPhrasePrefixQuery(“supplierName”,param)
matchPhraseQuery和matchQuery等的区别,在使用matchQuery等时,在执行查询时,搜索的词会被分词器分词,而使用matchPhraseQuery时,不会被分词器分词,而是直接以一个短语的形式查询,而如果你在创建索引所使用的field的value中没有这么一个短语(顺序无差,且连接在一起),那么将查询不出任何结果。
在java rest client中调用elasticsearch中的数据,精准匹配的termQuery查不到数据,这个问题是java rest client客户端自带的bug,换用matchPhraseQuery直接替换即可。有点坑!
在elastic权威指南一书中是这样给出建议的:"匹配查询 match 是个 核心 查询。无论需要查询什么字段, match
查询都应该会是首选的查询方式。它是一个高级 全文查询
,这表示它既能处理全文字段,又能处理精确字段。"这就意味着match查询是高级查询,底层使用了term查询。
结论:相关度查询使用match,精确字段查询使用matchPhrase即可。
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
抽取工具类
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
工具类改造
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
测试
业务层
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
控制层
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
搜索业务层
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
搜索控制层
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
前端(基于VUE)
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
搜索高亮显示
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
ess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCbGl1Y2hlbmc=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" />
高亮前端修改