•  

【20201008】Python操作ElasticSearch搜索引擎

发表于 2020-10-08,阅读 25

介绍

介绍

今天我们学习如何通过Python操作ElasticSearch搜索引擎。
在Python2.7下使用的是elasticsearch这个软件包,跟着福哥来操作吧。

安装

安装elasticsearch

直接使用pip安装即可

pip insall elasticsearch

5bc2c48272d7fa04.jpg

教程

插入数据

向ES内插入一条数据

from elasticsearch import Elasticsearch

# connect
es = Elasticsearch(host="192.168.1.115",port=9200,timeout=60)

# insert
data = {
    "id":1,
    "domainName":"tongfu.net",
    "title":"同福主页 - 首页 - 同福网 - TONGFU.net"
}
data["title"] = data["title"].decode("gbk").encode("utf-8")
es.index(index="tfse",doc_type="all_type",body=data)

查看数据

查看刚刚插入的数据

from elasticsearch import Elasticsearch

# connect
es = Elasticsearch(host="192.168.1.115",port=9200,timeout=60)

# query
query = {
    "query":{
        "term":{
            "id":1
        }
    }
}
results = es.search(index="tfse",doc_type="all_type",body=query)
print ("查询到:" + str(results['hits']['total']) + "结果")
for result in results['hits']['hits']:
    id = result['_id']
    data = result['_source']
    print ("[" + id + "] " + str(data['id']) + "," + data['domainName'] + "," + data['title'])

9e816f4bc7b7fe6c.jpg

更新数据

修改一下刚刚插入的数据

from elasticsearch import Elasticsearch

# connect
es = Elasticsearch(host="192.168.1.115",port=9200,timeout=60)

# update
dataid = "IMotDHUBK5JfYbvPrZu0"
doc = {
    "id":1,
    "domainName":"tongfu.net",
    "title":"同福主页 - 首页 - 同福网 - TONGFU.net(改)"
}
doc["title"] = doc["title"].decode("gbk").encode("utf-8")
data = {
    "doc":doc
}
es.update(index="tfse",doc_type="all_type",id=dataid,body=data)

删除数据

删除刚刚插入的数据

from elasticsearch import Elasticsearch

# connect
es = Elasticsearch(host="192.168.1.115",port=9200,timeout=60)

# delete
dataid = "IMotDHUBK5JfYbvPrZu0"
es.delete(index="tfse",doc_type="all_type",id=dataid)

总结

我们今天学习了elasticsearch的操作的方法,大家会发现这里没有讲述elasticsearch的复杂查询技巧,为什么呢?

因为福哥会在后面开发搜索引擎项目的时候,一点一点地教大家怎么玩转elasticsearch的。

鬼谷子叔叔
  • 日志:212
  • 回复:13

进入ta的主页