最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
最新整理电子书
5. 范围查询(range)
range 关键字 : 用来指定查询指定范围内的文档
#range 范围查询 根据年龄搜索 0-10 等价于关系型数据库的betweend–and
gte:大于等于 gt:大于 lt:小于 lte:小于等于
GET /ems/emp/_search
{
“query”: {
“range”: {
“age”: {
“gte”: 0,
“lte”: 10
}
}
}
}
6. 前缀查询(prefix)
prefix 关键字 : 用来检索含有指定前缀的关键词的相关文档
前缀查询(prewfix) like “x%”
GET /ems/emp/_search
{
“query”: {
“prefix”: {
“address”: {
“value”: “北”
}
}
}
}
7. 通配符查询(wildcard)
wildcard 关键字 : 通配符查询 ? 用来匹配一个任意字符 * 用来匹配多个任意字符
#通配符查询(wildcard)
?匹配一个字符 *可以匹配多个字符
GET /ems/emp/_search
{
“query”: {
“wildcard”: {
“content”: {
“value”: “re*”
}
}
}
}
?匹配一个字符
GET /ems/emp/_search
{
“query”: {
“wildcard”: {
“content”: {
“value”: “sprin?”
}
}
}
}
8. 多id查询(ids)
ids 关键字 : 值为数组类型,用来根据一组id获取多个对应的文档
#多id查询
GET /ems/emp/_search
{
“query”: {
“ids”: {
“values”: [“dPMrnX0BfC_D9Fr1AcjP”,“c_MrnX0BfC_D9Fr1AcjP”]
}
}
}
9. 模糊查询(fuzzy)
fuzzy 关键字 : 用来模糊查询含有指定关键字的文档
#fuzzy 模糊查询 用来模糊查询含有指定关键字的文档
#规则:
搜索关键词长度为2 不允许存在模糊
GET /ems/emp/_search
{
“query”: {
“fuzzy”: {
“content”: “北京”
}
}
}
搜索关键词长度为3~5 允许一次模糊 把mvc写成mvx
GET /ems/emp/_search
{
“query”: {
“fuzzy”: {
“content”:“mvx”
}
}
}
搜索关键词长度为5以上 允许最大模糊数2个 将spring写成xprinx
GET /ems/emp/_search
{
“query”: {
“fuzzy”: {
“content”: “xprinx”
}
}
fuzzy 模糊查询 最大模糊错误 必须在0-2之间
搜索关键词长度为 2 不允许存在模糊 0
搜索关键词长度为3-5 允许一次模糊 0 1
搜索关键词长度大于5 允许最大2模糊
10. 布尔查询(bool)
bool 关键字 : 用来组合多个条件实现复杂查询
must: 相当于&& 同时成立
should: 相当于|| 成立一个就行
must_not: 相当于! 不能满足任何一个
#bool 布尔查询 && || !
bool关键字 用来组合多个条件实现复杂查询
#must 相当于&&同时成立
#should 相当于||成立一个
must_not :相当于! 不满足任何一个条件
GET /ems/emp/_search
{
“query”: {
“bool”: {
“must”: [
{
“term”: {
“content”: {
“value”: “框”
}
}
}
],“must_not”: [
{“term”: {
“name”: {
“value”: “黑”
}
}}
],
“should”: [
{
“ids”: {
“values”: [“c_MrnX0BfC_D9Fr1AcjP”]
}
}
]
}
}
}
11. 高亮查询(highlight)
highlight 关键字 : 可以让符合条件的文档中的关键词高亮
GET /ems/emp/_search
{
“query”: {
“term”: {
“content”: {
“value”: “redis”
}
}
},
“highlight”: {
“fields”: {
“*”: {}
}
}
}
自定义高亮html标签 : 可以在highlight中使用
pre_tags
和post_tags
GET /ems/emp/_search
{
“query”:{
“term”:{
“content”:“框架”
}
},
“highlight”: {
“pre_tags”: [“”],
“post_tags”: [“”],
“fields”: {
“*”:{}
}
}
}
多字段高亮 使用
require_field_match
开启多个字段高亮
12. 多字段查询(multi_match)
#查询所有
GET /ems/emp/_search?q=*
#multi_match 多字段查询
GET /ems/emp/_search
{
“query”: {
“multi_match”: {
“query”: “框”,
#这里写要检索的指定字段
“fields”: [“name”,“content”]
总结
其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
目录:
部分内容截图:
检索的指定字段
“fields”: [“name”,“content”]
总结
其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
目录:
[外链图片转存中…(img-sqt2dXwC-1714851116725)]
部分内容截图:
[外链图片转存中…(img-NLwRYXS2-1714851116726)]
[外链图片转存中…(img-XU2NLaLt-1714851116726)]