Python Django / Flask如何使用Elasticsearch


Posted in Python onApril 19, 2022

Elasticsearch之Python使用

from elasticsearch import Elasticsearch
obj = Elasticsearch()
# 创建索引(Index)
result = obj.indices.create(index='user', body={"userid":'1','username':'lqz'},ignore=400)
# print(result)
# 删除索引
# result = obj.indices.delete(index='user', ignore=[400, 404])
# 插入数据
# data = {'userid': '1', 'username': 'lqz','password':'123'}
# result = obj.create(index='news', doc_type='politics', id=1, body=data)
# print(result)
# 更新数据
'''
不用doc包裹会报错
ActionRequestValidationException[Validation Failed: 1: script or doc is missing
'''
# data ={'doc':{'userid': '1', 'username': 'lqz','password':'123ee','test':'test'}}
# result = obj.update(index='news', doc_type='politics', body=data, id=1)
# print(result)
# 删除数据
# result = obj.delete(index='news', doc_type='politics', id=1)
# 查询
# 查找所有文档
query = {'query': {'match_all': {}}}
#  查找名字叫做jack的所有文档
# query = {'query': {'term': {'username': 'lqz'}}}
# 查找年龄大于11的所有文档
# query = {'query': {'range': {'age': {'gt': 11}}}}
allDoc = obj.search(index='news', doc_type='politics', body=query)
print(allDoc['hits']['hits'][0]['_source'])

Elasticsearch之Django/Flask集成

elasticsearch-dsl

#安装: pip3 install elasticsearch-dsl
#示例
from datetime import datetime
from elasticsearch_dsl import Document, Date, Nested, Boolean, \
    analyzer, InnerDoc, Completion, Keyword, Text
html_strip = analyzer('html_strip',
    tokenizer="standard",
    filter=["standard", "lowercase", "stop", "snowball"],
    char_filter=["html_strip"]
)
class Comment(InnerDoc):
    author = Text(fields={'raw': Keyword()})
    content = Text(analyzer='snowball')
    created_at = Date()
    def age(self):
        return datetime.now() - self.created_at
class Post(Document):
    title = Text()
    title_suggest = Completion()
    created_at = Date()
    published = Boolean()
    category = Text(
        analyzer=html_strip,
        fields={'raw': Keyword()}
    )
    comments = Nested(Comment)
    class Index:
        name = 'blog'
    def add_comment(self, author, content):
        self.comments.append(
          Comment(author=author, content=content, created_at=datetime.now()))
    def save(self, ** kwargs):
        self.created_at = datetime.now()
        return super().save(** kwargs)

django集成

from datetime import datetime
from elasticsearch_dsl import Document, Date, Nested, Boolean,analyzer, InnerDoc, Completion, Keyword, Text,Integer
from elasticsearch_dsl.connections import connections
connections.create_connection(hosts=["localhost"])
class Article(Document):
    title = Text(analyzer='ik_max_word', search_analyzer="ik_max_word", fields={'title': Keyword()})
    author = Text()
    class Index:
        name = 'myindex'
    def save(self, ** kwargs):
        return super(Article, self).save(** kwargs)
if __name__ == '__main__':
    # Article.init()  # 创建映射
    # 保存数据
    # article = Article()
    # article.title = "测试测试"
    # article.save()  # 数据就保存了
    #查询数据
    # s=Article.search()
    # s = s.filter('match', title="测试")
    # results = s.execute()
    # print(results)
    #删除数据
    # s = Article.search()
    # s = s.filter('match', title="测试").delete()
    #修改数据
    # s = Article().search()
    # s = s.filter('match', title="测试")
    # results = s.execute()
    # print(results[0])
    # results[0].title="xxx"
    # results[0].save()

以上就是Elasticsearches之python使用及Django与Flask集成示例的详细内容!

Python 相关文章推荐
Python切换pip安装源的方法详解
Nov 18 Python
Python中的错误和异常处理简单操作示例【try-except用法】
Jul 25 Python
Python读取word文本操作详解
Jan 22 Python
使用DataFrame删除行和列的实例讲解
Apr 08 Python
python提取图像的名字*.jpg到txt文本的方法
May 10 Python
flask入门之表单的实现
Jul 18 Python
python实现淘宝秒杀脚本
Jun 23 Python
关于Numpy中的行向量和列向量详解
Nov 30 Python
Django values()和value_list()的使用
Mar 31 Python
零基础小白多久能学会python
Jun 22 Python
用python自动生成日历
Apr 24 Python
Python实现自动玩连连看的脚本分享
Apr 04 Python
python中mongodb包操作数据库
Apr 19 #Python
Elasticsearch 聚合查询和排序
Apr 19 #Python
Elasticsearch 基本查询和组合查询
Apr 19 #Python
Elasticsearch 批量操作
Apr 19 #Python
Elasticsearch 数据类型及管理
Apr 19 #Python
Elasticsearch 索引操作和增删改查
Apr 19 #Python
python中redis包操作数据库的教程
Apr 19 #Python
You might like
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
Python接口测试get请求过程详解
2020/02/28 Python
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
酒店前台接待岗位职责
2013/12/03 职场文书
物流仓储计划书
2014/01/10 职场文书
公务员综合考察材料
2014/02/01 职场文书
财务出纳岗位职责
2014/02/03 职场文书
阳光体育活动方案
2014/02/16 职场文书
一年级学生评语
2014/04/23 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
安全标语大全
2014/06/10 职场文书
白鹤梁导游词
2015/02/06 职场文书
水知道答案观后感
2015/06/08 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技