找到官网的具体文档步骤:



按照文档进行练习Query DSL
加深记忆:
1、"_source": ["account_number","age"] 指定返回的字段
2、分词匹配
GET /bank/_search
{
"query": { "match": { "address": "mill lane" } }
}
3、短语匹配
GET /bank/_search
{
"query": { "match_phrase": { "address": "mill lane" } }
}
4、多字段匹配
GET /bank/_search
{
"query": {
"multi_match": {
"query": "mill",
"fields": ["state","address"]
}
}
}
5、复合查询(可以组合多种查询条件)
GET /bank/_search
{
"query": {
"bool": {
"must": [
{ "match": { "age": "40" } }
],
"must_not": [
{ "match": { "state": "ID" } }
]
}
}
}
6、filter结果过滤(不参与相关性得分)
GET /bank/_search
{
"query": {
"bool": {
"filter": [
{"range": {
"age": {
"gte":18,
"lte":30
}
}}
]
}
}
}
range是区间的意思:年龄必须在18到30之间
7、非文本字段,精确查找建议用term,全文检索字段用match
8、FIELD.keyword代表意思是匹配这个字段的精确值,而match_phrase是包含查询
9、aggregations(执行聚合)
10、查看字段类型(官网指出,8之后不在支持映射类型)
GET /bank/_mapping
返回所有字段的类型。
本文介绍了Elasticsearch的高级检索技巧,包括指定返回字段、分词匹配、短语匹配、多字段匹配、复合查询、结果过滤、精确查找、全文检索、聚合操作以及查看字段类型等。通过实例展示了如何使用Query DSL进行复杂查询,如年龄在18到30之间的用户筛选,以及不同查询类型的使用场景。
2778

被折叠的 条评论
为什么被折叠?



