Elasticsearch查询文档--常见API篇(附详细代码和案例图文)
warning:
这篇文章距离上次修改已过183天,其中的内容可能已经有所变动。
在Elasticsearch中,查询文档是一个非常常见的操作。以下是一些常见的查询文档的API和相应的代码示例:
- 查询所有文档
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200")
res = es.search(index="my_index", body={"query": {"match_all": {}}})
print(res['hits']['hits'])
- 根据ID查询文档
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200")
res = es.get(index="my_index", id="my_id")
print(res['_source'])
- 使用查询字符串查询文档
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200")
res = es.search(index="my_index", q="field:value")
print(res['hits']['hits'])
- 分页查询文档
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200")
res = es.search(index="my_index", body={"query": {"match_all": {}}}, from_=10, size=10)
print(res['hits']['hits'])
- 排序查询文档
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200")
res = es.search(index="my_index", body={"query": {"match_all": {}}}, sort='field:asc')
print(res['hits']['hits'])
- 高亮查询文档
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200")
res = es.search(index="my_index", body={
"query": {
"match": {
"field": "value"
}
},
"highlight": {
"fields": {
"field": {}
}
}
})
for hit in res['hits']['hits']:
print(hit['_id'], hit['_source'], hit['highlight'])
这些API和代码示例涵盖了查询文档的基本操作,如果需要更复杂的查询,可以使用Elasticsearch的查询DSL。
评论已关闭