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

Elasticsearch--Python使用、Django/Flask集成

一、Python使用

from elasticsearch import Elasticsearchobj = 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'])

二、Django/Flask集成

1、elasticsearch-dsl

#安装: pip3 install elasticsearch-dsl
#示例
from datetime import datetime
from elasticsearch_dsl import Document, Date, Nested, Boolean, \analyzer, InnerDoc, Completion, Keyword, Texthtml_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_atclass 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)

2、django集成

from datetime import datetime
from elasticsearch_dsl import Document, Date, Nested, Boolean,analyzer, InnerDoc, Completion, Keyword, Text,Integerfrom elasticsearch_dsl.connections import connectionsconnections.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()

相关文章:

Elasticsearch--Python使用、Django/Flask集成

一、Python使用 from elasticsearch import Elasticsearchobj Elasticsearch() # 创建索引(Index) result obj.indices.create(indexuser, body{"userid":1,username:lqz},ignore400) # print(result) # 删除索引 # result obj.indices.de…...

pyspark将数据多次插入表的时候报错

代码 报错信息 py4j.protocol.Py4JJavaError: An error occurred while calling o129.sql. : org.apache.spark.sql.catalyst.parser.ParseException: mismatched input INSERT expecting <EOF>(line 12, pos 0) 原因 插入语句结束后没有加&#xff1b;结尾 把两个&am…...

Qt绘制饼状图

必须在MainWindow.h头文件开头放 #include <QtCharts> //必须这么设置 创建chart&#xff1a; void MainWindow::iniPiewChart() { //饼图初始化QChart *chart new QChart();chart->setTitle(" Piechart演示");chart->setAnimationOptions(QChar…...

Vue3 setup函数

一、setup函数介绍 setup函数是Vue3中全新的一个配置项&#xff0c;值为一个函数&#xff0c;是所有 Composition API 中“表演的舞台”。 我们在Vue2中用到的所有数据、方法&#xff0c;都需要配置在setup中。 这是我们在Vue2中的写法&#xff1a; 这是我们在Vue3 setup中的…...

Django(三、数据的增删改查、Django生命周期流程图)

文章目录 一、 基于ORM进行的CURDuser_list&#xff1a;作为主页使用路由文件urls.py配置如下&#xff1a;add.html&#xff1a;用于新增用户的数据页add页面视图函数如下:edit.html&#xff1a;修改数据的页面那么来总结一下上序所操作所用到的内容。 导入已存在的表其方式有两…...

Linux 部署Sentinel控制台

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 1.版本选择 SpringCloudAlibaba SpringClo…...

服务器如何下载百度网盘数据

百度网盘作为镜像 国外用户传数据到我们服务器比较慢,但是传输百度网盘速度还是可以的。 这样我们就可以将百度网盘作为一个文件中转站。 但Linux系统下使用百度网盘有些麻烦,虽然百度网盘也有Linux版本,但服务器没开启图形界面,使用的是命令行。这个时候就得感谢开发者Ho…...

POJ 3254 Corn Fields 状态压缩DP(铺砖问题)

一、题目大意 我们要在N * M的田地里种植玉米&#xff0c;有如下限制条件&#xff1a; 1、对已经种植了玉米的位置&#xff0c;它的四个相邻位置都无法继续种植玉米。 2、题目中有说一些块无论如何&#xff0c;都无法种植玉米。 求所有种植玉米的方案数&#xff08;不种植也…...

transformers安装避坑

1.4 下载rust编辑器 看到这里你肯定会疑惑了&#xff0c;我们不是要用python的吗&#xff1f; 这个我也不知道&#xff0c;你下了就对了&#xff0c;不然后面的transformers无法安装 因为是windows到官网选择推荐的下载方式https://www.rust-lang.org/tools/install。 执行文…...

牛客、赛码网OJ调试(全)

现在无论开发还是测试&#xff0c;面试的时候都需要考察代码能力。 从测试的职业发展来看&#xff0c;现在市场上对于纯功能测试的需求很少&#xff0c;招聘方均要求面试者一方面具备测试基础能力&#xff0c;也要求有点代码能力。 对于测试来说&#xff0c;除了测试开发&#…...

【CSS】全局声明引入自定义字体

以下用vue项目为例&#xff0c;其他的也是类似&#xff01; 在Vue.js中可以使用全局样式表来定义字体。通常&#xff0c;可以在项目中的主样式表中定义全局字体&#xff0c;然后确保该样式表在整个应用程序中被引入。 以下是一般的步骤&#xff1a; 在项目中创建一个全局样式…...

「Flask」路由+视图函数

路由 路由的作用是将 HTTP 请求的 URL 路径映射到相应的函数处理程序。这样我们在开发过程中&#xff0c;就能将不同的 URL 路径与相应的函数处理程序关联起来&#xff0c;从而实现对 Web 应用的灵活控制。 路由可以分为静态路由和动态路由。两者主要是在形式上有一些区别&am…...

信息系统项目管理师 教材目录、考试大纲、考情

文章目录 考情考试大纲第1章 信息化发展第2章 信息技术发展第3章 信息系统治理第4章 信息系统管理第5章 信息系统工程第6章 项目管理概论第7章 项目立项管理第8章 项目整合管理第9章 项目范围管理272第10章 项目进度管理297第11章 项目成本管理334第12章 项目质量管理358第13章…...

python线性回归实现

import random import torch# ①根据带有噪声的线性模型构造一个人造数据集。 使用线性模型参数w[2,−3.4] b4.2和噪声项ϵ生成数据集及其标签 def synthetic_data(w, b, num_examples):"""生成 y Xw b 噪声。"""# 生成均值为0&#xff0c;标…...

【JavaEESpring】认识Spring

认识Spring 1. 什么是框架2. SpringBoot 介绍2.1 Spring 的介绍2.2 SpringBoot 1. 什么是框架 框架(Framework) &#xff0c;意思是框架、机制、准则。通俗的来讲: 框架是实现某种功能的半成品, 他提供了⼀些常⽤的⼯具类, 我们在框架的基础上, 可以更加⾼效的进⾏开发 后端框…...

Rust逆向学习 (5)

文章目录 Reverse for Vecvec! 与 添加元素元素访问元素遍历枚举数组弹出最后一个元素——pop 总结 本文将对Rust中的通用集合类型——动态数组 Vec进行学习&#xff0c;对应参考书中的第8章。 Reverse for Vec Vec是Rust中的动态数据结构&#xff0c;与C中的vector功能类似。…...

89.STL-函数对象的使用(仿函数)

目录 1.什么是函数对象 2.仿函数示例 3.代码示例 1.什么是函数对象 函数对象是C中的一种编程概念&#xff0c;也称为函数符或仿函数。其实就是重载“()”操作符&#xff0c;使得类对象可以像函数那样调用。 分类:假定某个类有一个重载的operator()&#xff0c;而且重载的oper…...

文件管理技巧:按文件容量大小分类,自动移动至目标文件夹的方法

按文件容量大小分类可以帮助快速识别和筛选出不同大小的文件。这样做有很多好处。首先&#xff0c;可以轻松地查找和访问特定大小的文件&#xff0c;提高工作效率。其次&#xff0c;通过将不同大小的文件分类&#xff0c;可以更好地了解和掌控文件的使用情况&#xff0c;避免存…...

[架构之路-246]:目标系统 - 设计方法 - 软件工程 - 需求工程- 需求开发:获取、分析、定义、验证

目录 前言&#xff1a; 架构师为什么需要了解需求分析 一、需求工程概述 1.1 概述 1.2 需求工程的两大部分 &#xff08;1&#xff09;需求开发&#xff1a;系统工程师的职责、目标系统开发角度 &#xff08;2&#xff09;需求管理&#xff1a;项目管理者的职责、项目管…...

轻量日志管理方案-[EFK]

使用FileBeat进行日志文件的数据收集&#xff0c;并发送到ES进行存储&#xff0c;最后Kibana进行查看展示&#xff1b; 这个应该是最简单&#xff0c;轻量的日志收集方案了。 最总方案为&#xff1a;FileBeatESKibana ; 【Kibana过于强大&#xff0c;感觉可以无限扩展】 文章目…...

产教融合共建失智老年人照护实训室实践路径

本文围绕产教融合模式&#xff0c;结合失智老年人照护岗位实际需求&#xff0c;从合作机制、空间布局、设备配置、教学实施、运营保障五个核心维度&#xff0c;给出可落地的失智老年人照护实训室共建实践路径&#xff0c;兼顾实用性与可操作性&#xff0c;助力院校与企业高效共…...

【MATLAB源码-第415期】基于MATLAB的等效电路与电热耦合的锂离子电池CC-CV充电控制、SOC估计及BMS保护与故障诊断仿真

操作环境&#xff1a;MATLAB 2024a1、算法描述基于等效电路与电热耦合的锂离子电池CC-CV充电控制及BMS保护仿真研究摘要锂离子电池作为电动汽车、储能系统与便携式电子设备中的核心储能单元&#xff0c;其充电过程不仅关系到能量补给效率&#xff0c;还直接影响安全性、寿命保持…...

2026届最火的十大AI科研工具实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 为了把文本被判定成是由AI生成内容&#xff08;AIGC&#xff09;的可能性给降低下来&#xf…...

简易数据采集与分析系统

我用 Trae&#xff08;SOLO Coder&#xff09; 自主开发了这款专为硬件工程师打造的数据分析工具&#xff0c;无需懂代码&#xff0c;点点鼠标即可完成采集卡数据全流程分析。核心功能一键导入采集卡原始 ADC 数据&#xff0c;自动适配 12/16 位分辨率&#xff0c;精准转换为真…...

C#的[DoesNotReturn]和[DoesNotReturnIf]:帮助流分析的特性

C#的[DoesNotReturn]和[DoesNotReturnIf]特性是编译器流分析的重要工具&#xff0c;它们通过显式标记方法或代码块的终止行为&#xff0c;帮助开发者编写更安全、更高效的代码。这些特性在异常处理、条件终止等场景中尤为实用&#xff0c;能够显著提升代码的可读性和静态分析的…...

告别ns3-gym!用ns3-ai在Ubuntu 22.04上实现百倍速AI网络仿真(附完整避坑指南)

告别ns3-gym&#xff01;用ns3-ai在Ubuntu 22.04上实现百倍速AI网络仿真&#xff08;附完整避坑指南&#xff09; 如果你正在使用ns3-gym进行AI网络仿真研究&#xff0c;很可能已经遇到了通信效率低下的瓶颈。传统基于Socket的进程间通信&#xff08;IPC&#xff09;方式在大量…...

访问控制漏洞深度拆解(含代码)

在区块链安全事件中&#xff0c;访问控制漏洞(Access Control)已成为损失最高的攻击类型之一。攻击者无需复杂技术&#xff0c;只要找到“未加权限限制”的关键函数&#xff0c;就能直接接管合约甚至清空资金&#x1f50d; 漏洞原理解析该漏洞本质是“谁都能调用本该受限的函数…...

Tushare 快速入门:Python 获取 A 股日线数据最简教程

Tushare 是国内非常稳定、易用的财经数据接口库&#xff0c;非常适合量化学习、股票复盘、数据分析使用。 本文给大家分享**最简单、可直接运行**的入门用法&#xff0c;新手也能 1 分钟上手。## 1. 安装 Tushare pip install tushare ## 2. 获取 Token 1. 打开官网&#xff1…...

JointJS高亮器与工具系统:增强用户交互体验的终极指南

JointJS高亮器与工具系统&#xff1a;增强用户交互体验的终极指南 【免费下载链接】joint A proven SVG-based JavaScript diagramming library powering exceptional UIs 项目地址: https://gitcode.com/gh_mirrors/jo/joint JointJS作为一款强大的SVG图表库&#xff0…...

AI伦理官:一个正在崛起的新兴职业

在人工智能技术爆发式增长的2026年&#xff0c;AI伦理官已成为科技领域炙手可热的新兴角色。这一职业不仅是技术发展的“道德卫士”&#xff0c;更是连接创新与合规的关键桥梁。随着全球AI芯片出货量突破百亿台&#xff0c;生成式AI深度融入金融、医疗和互联网行业&#xff0c;…...