Elasticsearch上手——Python API的简单使用

Python够直接,从它开始是个不错的选择。

Elasticsearch客户端列表:https://www.elastic.co/guide/en/elasticsearch/client/index.html
Python API:https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html
参考文档:http://elasticsearch-py.readthedocs.io/en/master/index.html

安装

我在CentOS 7上安装了Python3.6,安装时使用下面的命令:

pip3 install elasticsearch

安装时需要root权限

牛刀小试

由于Elasticsearch索引的文档是JSON形式,而MongoDB存储也是以JSON形式,因此这里选择通过MongoDB导出数据添加到Elasticsearch中。

使用MongoDB的Python API时,需要先安装pymongo,命令:pip3 install pymongo

import traceback
from pymongo import MongoClient
from elasticsearch import Elasticsearch

# 建立到MongoDB的连接
_db = MongoClient('mongodb://127.0.0.1:27017')['blog']

# 建立到Elasticsearch的连接
_es = Elasticsearch()

# 初始化索引的Mappings设置
_index_mappings = {
  "mappings": {
    "user": { 
      "properties": { 
        "title":    { "type": "text"  }, 
        "name":     { "type": "text"  }, 
        "age":      { "type": "integer" }  
      }
    },
    "blogpost": { 
      "prop
### Elasticsearch 8.1 在 Linux 下的配置与使用 #### 配置环境 在安装和运行 Elasticsearch 之前,需确保满足其依赖条件。Elasticsearch 基于 Java 开发,因此需要先安装 JDK (建议版本为 OpenJDK 11 或更高)[^5]。 以下是基本的安装步骤: 1. **下载并解压**:从官方网站获取最新版 Elasticsearch 的 tar.gz 文件,并将其解压缩到目标目录。 2. **修改配置文件**:进入 `config` 目录编辑 `elasticsearch.yml` 文件以调整集群名称、节点名称和其他必要参数。 3. **启动服务**:通过命令行启动 Elasticsearch 实例,例如: ```bash ./bin/elasticsearch ``` 需要注意的是,在生产环境中应避免默认设置,而是根据实际需求优化 JVM 参数以及磁盘存储路径等选项[^6]。 #### 使用指南 对于数据检索方面,虽然传统方式采用 JSON 格式的 REST API 请求来交互,但随着技术发展,也支持更直观易懂的方法——即利用 SQL 接口访问索引中的资料[^2]。这意味着开发者无需深入学习复杂的 DSL 查询语法即可快速上手操作数据库样式的记录集合。 另外关于性能调优部分,则涉及多个层面考量因素比如分片大小控制、副本数量设定还有硬件资源配置等方面的知识点[^7]。 ```python from elasticsearch import Elasticsearch es_client = Elasticsearch("http://localhost:9200") response = es_client.sql.query(body={ 'query': 'SELECT * FROM my_index LIMIT 10' }) print(response['rows']) ``` 上述脚本展示了如何借助 Python 客户端库连接本地正在运行的服务实例并通过简单的 SELECT 文字串实现基础的数据提取功能演示[^8]。 #### 注意事项 当升级至较新的主要发行版号时(如从 v7.x 到 v8.x),可能会遇到向后兼容性问题或者插件缺失情况,请仔细阅读迁移手册说明文档以便顺利完成过渡过程[^9]。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mydeman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值