Elasticsearch ES操作:查询数据(全部、分页、单条、组合条件)




from elasticsearch import Elasticsearch
 
# 连接Elasticsearch
es = Elasticsearch(hosts=["localhost:9200"])
 
# 索引名称
index_name = 'your_index'
 
# 查询所有数据
def search_all(index_name):
    response = es.search(index=index_name, size=10000)
    return response['hits']['hits']
 
# 分页查询
def search_with_pagination(index_name, page, page_size):
    response = es.search(index=index_name, from_=(page - 1) * page_size, size=page_size)
    return response['hits']['hits']
 
# 查询单条数据
def search_single_document(index_name, document_id):
    response = es.get(index=index_name, id=document_id)
    return response['_source']
 
# 组合条件查询
def search_with_query(index_name, query):
    response = es.search(index=index_name, query=query)
    return response['hits']['hits']
 
# 示例使用
if __name__ == '__main__':
    # 查询所有数据
    all_data = search_all(index_name)
    print(all_data)
 
    # 分页查询第1页,每页5条数据
    page_data = search_with_pagination(index_name, 1, 5)
    print(page_data)
 
    # 查询ID为'123'的数据
    single_doc = search_single_document(index_name, '123')
    print(single_doc)
 
    # 使用查询条件进行查询
    bool_query = {
        "query": {
            "bool": {
                "must": [
                    {"match": {"field1": "value1"}}
                ],
                "filter": [
                    {"term": {"field2": "value2"}}
                ]
            }
        }
    }
    results = search_with_query(index_name, bool_query)
    print(results)

这段代码展示了如何使用Elasticsearch Python API进行不同类型的搜索操作。其中包括查询所有文档、分页查询、查询单条文档以及使用查询条件进行搜索。在实际应用中,你需要根据具体的Elasticsearch集群和查询需求进行相应的调整。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日