当前位置: 首页 > wzjs >正文

炫酷企业网站产品报价网

炫酷企业网站,产品报价网,影视主题wordpress,极品wordpress素材教程网站💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
持续学习,不断总结,共同进步,为了踏实,做好当下事儿~
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

在这里插入图片描述

💖The Start💖点点关注,收藏不迷路💖

📒文章目录

    • 1. Elasticsearch基础与Python环境准备
      • 1.1 Elasticsearch核心概念
      • 1.2 Python环境配置
    • 2. 建立与Elasticsearch的连接
      • 2.1 基础连接方式
      • 2.2 安全认证配置
      • 2.3 连接优化参数
    • 3. 索引与文档操作
      • 3.1 索引管理
      • 3.2 文档CRUD操作
      • 3.3 文档版本控制
    • 4. 数据查询与聚合分析
      • 4.1 基础查询DSL
      • 4.2 复合查询
      • 4.3 聚合分析
    • 5. 高级特性与性能优化
      • 5.1 批量处理技巧
      • 5.2 性能监控
    • 6. 实战案例
      • 6.1 电商搜索实现
    • 7. 总结


1. Elasticsearch基础与Python环境准备

1.1 Elasticsearch核心概念

Elasticsearch是基于Lucene的分布式搜索引擎,其核心特性包括:

  • 分布式架构:数据自动分片(Shard)并分布在集群节点中
  • 近实时搜索:文档变更通常在1秒内可被检索
  • 核心术语
    • Index:类似数据库的表结构
    • Document:JSON格式的基本数据单元
    • Mapping:定义字段类型和分词规则
    • Shard:索引的物理分片单位

示例映射:

{"mappings": {"properties": {"title": {"type": "text", "analyzer": "ik_max_word"},"price": {"type": "double"}}}
}

1.2 Python环境配置

安装官方客户端:

pip install elasticsearch
# 可选DSL库
pip install elasticsearch-dsl

验证安装:

import elasticsearch
print(elasticsearch.__version__)  # 应输出版本号如7.15.0

2. 建立与Elasticsearch的连接

2.1 基础连接方式

单节点连接(默认配置):

es = Elasticsearch()  # 等价于localhost:9200

多节点集群连接:

es = Elasticsearch(["node1:9200", "node2:9200"],sniff_on_start=True  # 启动时发现所有节点
)

2.2 安全认证配置

带认证的HTTPS连接:

es = Elasticsearch(["https://es-host:9200"],http_auth=('admin', 'password'),use_ssl=True,verify_certs=True
)

2.3 连接优化参数

es = Elasticsearch(["node1:9200"],timeout=30,          # 请求超时秒数max_retries=3,       # 失败重试次数retry_on_timeout=True
)

3. 索引与文档操作

3.1 索引管理

创建含自定义映射的索引:

mapping = {"mappings": {"properties": {"content": {"type": "text"},"timestamp": {"type": "date"}}}
}
es.indices.create(index="logs", body=mapping)

3.2 文档CRUD操作

单文档插入:

doc = {"title": "Python教程", "price": 99.9}
es.index(index="books", id=1, body=doc)  # 指定ID

批量插入(高效方式):

from elasticsearch.helpers import bulk
actions = [{"_op_type": "index", "_index": "books", "_id": i, "title": f"Book {i}"}for i in range(100)
]
bulk(es, actions)

3.3 文档版本控制

乐观锁更新:

es.update(index="books",id=1,body={"doc": {"price": 89.9}},version=2,  # 只有当前版本为2时才更新version_type="external"
)

4. 数据查询与聚合分析

4.1 基础查询DSL

分页查询示例:

query = {"query": {"match_all": {}},"from": 0,"size": 10,"sort": [{"price": {"order": "desc"}}]
}
es.search(index="books", body=query)

4.2 复合查询

布尔组合查询:

{"query": {"bool": {"must": [{"match": {"title": "python"}}],"filter": [{"range": {"price": {"gte": 50}}}]}}
}

4.3 聚合分析

价格分桶统计:

{"aggs": {"price_ranges": {"range": {"field": "price","ranges": [{"to": 50}, {"from": 50, "to": 100}]}}}
}

5. 高级特性与性能优化

5.1 批量处理技巧

使用生成器减少内存消耗:

def gen_data():for i in range(10000):yield {"_index": "logs", "_source": {"msg": f"Log entry {i}"}}helpers.bulk(es, gen_data())

5.2 性能监控

检查集群状态:

health = es.cluster.health()
print(health["status"])  # green/yellow/red

6. 实战案例

6.1 电商搜索实现

多字段加权查询:

{"query": {"multi_match": {"query": "智能手机","fields": ["title^3", "description^2", "category"]}}
}

7. 总结

关键要点回顾:

  1. 连接配置需考虑安全性和高可用
  2. 批量操作比单条操作效率高10倍以上
  3. 复合查询应合理使用filter缓存

常见问题:

  • 深分页避免使用from+size,改用search_after
  • 字段类型冲突会导致索引失败

学习建议:

  • 官方REST API文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html
  • Python客户端源码:https://github.com/elastic/elasticsearch-py

🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The Start💖点点关注,收藏不迷路💖

width=“100%”>



💖The Start💖点点关注,收藏不迷路💖





http://www.dtcms.com/wzjs/789254.html

相关文章:

  • 电子商务网站开发过程全球搜索引擎网站
  • html5微网站模板网站建站和项目部署一样吗
  • 网站后台如何修改标题外贸网店
  • 关于网站建设与维护论文wordpress外贸营销插件
  • 汽车便宜网站建设如何建设一个文件分享网站
  • 做哪个视频网站赚钱广州市海珠区建设局网站
  • 源码网站开发html做一个简单的网页
  • 外包网站开发哪家好贵州网站优化公司
  • 二级域名网站怎么建设德持建设集团有限公司网站
  • 山东华邦建设集团网站外贸网站建设行业发展
  • 响应网站建设网站界面设计稿
  • 网站备案号在哪里查询安装wordpress登录时的域名是什么
  • 企业网站管理系统教程百度指数查询入口
  • 哪个网站做浏览器主页国内外优秀室内设计案例
  • 做网站友情链接互换WordPress360收录
  • 泉州市服务好的网站设计镇江网站建设制作公司
  • 优秀网站及网址网站模板 山
  • 万网 成品网站房地产市场营销
  • 青岛外贸网站运营哪家好郑州网站app建设
  • 网站建设与管理习题一WordPress有评论邮件通知
  • 有账号密码网站怎么建设大型网站技术架构核心原理与案例分析
  • 网站开发劳动合同范本360做企业网站多少钱
  • 怎么新建网站wordpress怎么把分类弄成导航
  • 中国建设银行网站晋阳支行英文网站外链查询
  • 唯品会购物网站开发项目wordpress国际主题
  • 企业官方网站怎么建设西安广告公司前十名
  • 杭州建站平台seo长尾关键词优化
  • 没有网站怎么做淘客网站备案填写要求吗
  • 旅游网站模板免费wordpress锚点插件
  • 宝安公司可以网站设计网站建设英语翻译资料