栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

elasticsearch鏁欑▼(elasticsearch鐗堟湰)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

elasticsearch鏁欑▼(elasticsearch鐗堟湰)

》春节Flag没有达成,,…继续上次的学习

【21ES的查询-terms查询】

6.1.2 terms查询
terms和term的查询机制是一样,都不会将指定的查询关键字进行分词,直接去分词库中匹配,找到相应文档内容。
terms是在针对一个字段包含多个值得时候使用。
term:where provice = 北京
terms:where provice=北京 or provice=上海 or……即 in(……)

kibana中
java实现terms查询

也可以进行其他字段的查询
搜索在线分词器,查看分词结果
如:sojson.com/analyzer

ps:
1.term不仅可以查询keyword,也可以查询text文本;
2.当文档属性中存在“奋斗的时代”时,
“奋斗的时代”可以被分词器分为“奋斗,奋,斗,时代”;
使用terms查询“奋斗的时代”,由于不会对查询关键词进行分词,故搜索不到结果;而使用terms查询“奋斗”,可以查询到结果。
【22.ES的查询-match_all查询】

match查询属于高层查询,他会根据查询的字段类型不一样,采用不同的查询方式。

查询的是日期或者数值,它会将基于字符串的查询内容转换为日期或者数值对待;如果查询的内容是一个不能被分词的内容(keyword),mathch查询不会对你指定的查询关键字进行分词;如果查询的内容是一个可以被分词的内容(text),match会将指定的查询内容根据一定的方式分词,去分词库中匹配制定的内容。
mathch查询,实际底层就是多个term查询,将多个term查询结果封装到一起。
6.2.1 match_all查询
查询全部内容,不指定任何查询条件。
PS:由于没有查询条件,查询到的结果分数都为1。

使用java实现:


注意:
1.ES默认查询10条数据,但可以展示查询到的总数据数;
2.给build设置size值,可以查询相应的数量 【23.ES的查询-match_all查询和布尔match查询】

6.2.2 mathc查询
根据某个field查询数据。

java实现

布尔match查询
基于一个field匹配的内容,采用and或者or的方式连接。

java实现
【24.ES的查询-multiMatch查询】

6.2.4 multi_match查询
match针对一个field检索,multi_match针对多个field检索,多个field对应一个text。

java实现

【25.ES的查询-id&ids查询】

6.3 其他查询
6.3.1id查询-简单的查询
根据id查询,相当于where id=?
(1)GET /索引/类型/id

(2)java实现

6.3.2 ids查询-不是简单的查询,是query查询
根据多个id查询,相当于where id in (,,*……)
(1)ES实现

注意:查出结果的max_score匹配分为1,因为是直接匹配方式。
(2)Java实现

》to be continue

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773627.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号