9-es中的查询
查询
1 基本查询
-
根据文档ID
curl -X GET 127.0.0.1:9200/articles/article/1 curl -X GET 127.0.0.1:9200/articles/article/1?_source=title,user_id curl -X GET 127.0.0.1:9200/articles/article/1?_source=false
-
查询所有
curl -X GET 127.0.0.1:9200/articles/article/_search?_source=title,user_id
-
分页
-
from 起始 size 每页数量 curl -X GET 127.0.0.1:9200/articles/article/_search?_source=title,user_id\&size=3 curl -X GET 127.0.0.1:9200/articles/article/_search?_source=title,user_id\&size=3\&from=10
-
-
全文检索
curl -X GET 127.0.0.1:9200/articles/article/_search?q=content:python%20web\&_source=title,article_id\&pretty curl -X GET 127.0.0.1:9200/articles/article/_search?q=title:python%20web,content:python%20web\&_source=title,article_id\&pretty curl -X GET 127.0.0.1:9200/articles/article/_search?q=_all:python%20web\&_source=title,article_id\&pretty %20 表示空格
2 高级查询
-
全文检索 match
curl -X GET 127.0.0.1:9200/articles/article/_search -d' { "query" : { "match" : { "title" : "python web" } } }' curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d' { "from": 0, "size": 5, "_source": ["article_id","title"], "query" : { "match" : { "title" : "python web" } } }' curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d' { "from": 0, "size": 5, "_source": ["article_id","title"], "query" : { "match" : { "_all" : "python web 编程" } } }' 短语搜索 match_phrase curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d' { "size": 5, "_source": ["article_id","title"], "query" : { "match_phrase" : { "_all" : "python web" } } }' 精确查找 term curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d' { "size": 5, "_source": ["article_id","title", "user_id"], "query" : { "term" : { "user_id" : 1 } } }'
-
范围查找 range
curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d' { "size": 5, "_source": ["article_id","title", "user_id"], "query" : { "range" : { "article_id": { "gte": 3, "lte": 5 } } } }'
-
高亮搜索 highlight
curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d ' { "size":2, "_source": ["article_id", "title", "user_id"], "query": { "match": { "title": "python web 编程" } }, "highlight":{ "fields": { "title": {} } } } '
-
组合查询
-
must
文档 必须 匹配这些条件才能被包含进来。
-
must_not
文档 必须不 匹配这些条件才能被包含进来。
-
should
如果满足这些语句中的任意语句,将增加
_score
,否则,无任何影响。它们主要用于修正每个文档的相关性得分。 -
filter
必须 匹配,但它以不评分、过滤模式来进行。这些语句对评分没有贡献,只是根据过滤标准来排除或包含文档。
curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d ' { "_source": ["title", "user_id"], "query": { "bool": { "must": { "match": { "title": "python web" } }, "filter": { "term": { "user_id": 2 } } } } } '
-
-
排序
curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d' { "size": 5, "_source": ["article_id","title"], "query" : { "match" : { "_all" : "python web" } }, "sort": [ { "create_time": { "order": "desc" }}, { "_score": { "order": "desc" }} ] }
-
boost 提升权重,优化排序
curl -X GET 127.0.0.1:9200/articles/article/_search?pretty -d' { "size": 5, "_source": ["article_id","title"], "query" : { "match" : { "title" : { "query": "python web", "boost": 4 } } } }'