elasticsearch的docker安装与使用
安装
docker network create elasticdocker pull docker.elastic.co/elasticsearch/elasticsearch:8.10.4# 增加虚拟内存, 此处适用于linux
vim /etc/sysctl.conf # 添加 vm.max_map_count=262144
# 重新启动
sysctl vm.max_map_countdocker run --name es01 --net elastic -p 9200:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.10.4
成功后会出现下图

将密码保存,可以先重置:
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
复制证书以供ssl访问
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
使用
connect
from elasticsearch import ElasticsearchNODES = ["https://localhost:9200","https://localhost:9201","https://localhost:9202",
]# Password for the 'elastic' user generated by Elasticsearch
ELASTIC_PASSWORD = "<password>"# Create the client instance
client = Elasticsearch(NODES,ca_certs="/path/to/http_ca.crt",basic_auth=("elastic", ELASTIC_PASSWORD)# 支持多种登陆方式# api_key=("api_key.id", "api_key.api_key")# bearer_auth="token-value"# ssl_assert_fingerprint=CERT_FINGERPRINT,
)# Successful response!
client.info()
index
mapping = {"settings": {"analysis": {"analyzer": {"latex_analyzer": {"type": "standard", # 使用标准分析器作为基础"stopwords": "_none_" # 不使用停用词}}}},"mappings": {"properties": {"question": {"type": "text","analyzer": "latex_analyzer" # 使用上面定义的分析器}}}
}# 创建索引
es.indices.create(index="questions_index", body=mapping)
insert
from elasticsearch import Elasticsearch, helpersinsert_df = df["question"].to_frame()insert_df.head()def doc_generator(df, index_name):df_iter = df.iterrows()for index, document in df_iter:yield {"_index": index_name,"_id": index, "_source": document.to_dict(),}helpers.bulk(es, doc_generator(insert_df, 'questions_index'))
query
search_query = {"query": {"match": {"question": "数轴上A、B两点所表示的有理数的和是"}}
}response = es.search(index="questions_index", body=search_query)for hit in response['hits']['hits']:print(hit['_source']['question'])
import ujson# 原始查询
query_string = '''{"query": {"bool": {"must": [{"bool": {"must": [{"bool": {"should": [{"multi_match": {"query": "数轴上A、B两点所表示的有理数的和是","fields": ["question^3", "question.raw^3", "question.search^1", "question.autosuggest^1", "question.english^1"],"type": "cross_fields","operator": "and"}},{"multi_match": {"query": "数轴上A、B两点所表示的有理数的和是","fields": ["question^3", "question.raw^3", "question.search^1", "question.autosuggest^1", "question.english^1"],"type": "phrase","operator": "and"}},{"multi_match": {"query": "数轴上A、B两点所表示的有理数的和是","fields": ["question^3", "question.raw^3", "question.english^1"],"type": "phrase_prefix","operator": "and"}}],"minimum_should_match": "1"}}]}}]}}
}'''query_dict = ujson.loads(query_string)
response = es.search(index='questions_index', body=query_dict)for hit in response['hits']['hits']:print(hit['_source'])
相关文章:
elasticsearch的docker安装与使用
安装 docker network create elasticdocker pull docker.elastic.co/elasticsearch/elasticsearch:8.10.4# 增加虚拟内存, 此处适用于linux vim /etc/sysctl.conf # 添加 vm.max_map_count262144 # 重新启动 sysctl vm.max_map_countdocker run --name es01 --net …...
ELK 单机安装
一丶软件下载 elasticsearch: https://www.elastic.co/downloads/past-releases kibana: https://www.elastic.co/downloads/past-releases 选择对应的版本的下载即可 二、es 安装es比较简单 rpm -ivh elasticsearch-2.4.2.rpm 修改配置文件 /etc/elasticsearch/elas…...
优雅而高效的JavaScript——?? 运算符、?. 运算符和 ?. 运算符
🥴博主:小猫娃来啦 🥴文章核心:优雅而高效的JavaScript——?? 运算符、?. 运算符和 ?. 运算符 文章目录 引言空值处理的挑战解决方案1:?? 运算符基本用法与 || 运算符的区别实际应用场景举例 解决方案2ÿ…...
Nginx配置负载均衡
Nginx配置负载均衡 使用nginx来配置负载均衡也是比较简单的 首先在http块中配置虚拟域名所对应的地址 # 负载均衡upstream myserver {server 127.0.0.1:8080;server 127.0.0.1:8082;}可以配置的参数有以下选项 #down 不参与负载均衡 #weight5; 权重,越高分配越多 #b…...
Ubuntu 20.04 上安装 neo4j
1. 进入要安装neo4j的ubuntu环境。 2. 添加Debian资源库。 Java 1.8.xx版本对应Neo4j 3.xx版本: (1)wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - (2)echo deb https://debian.…...
大规模爬虫系统面临的主要挑战及解决思路
在构建大规模爬虫系统时,我们常常面临一系列挑战。这些挑战包括高效爬取、频率限制、分布式处理、存储和数据管理等方面。为了应对这些挑战,我们需要采取一些解决思路和策略。在本文中,我将与大家分享大规模爬虫系统面临的主要挑战以及解决思…...
统计学习方法 感知机
文章目录 统计学习方法 感知机模型定义学习策略学习算法原始算法对偶算法 学习算法的收敛性 统计学习方法 感知机 读李航的《统计机器学习》时,关于感知机的笔记。 感知机(perceptron)是一种二元分类的线性分类模型,属于判别模型…...
Linux命令(103)之wc
linux命令之wc 1.wc介绍 linux命令wc是用来统计文件的字数、行数和字节数 2.wc用法 wc [参数] [filename] wc参数 参数说明-l统计总行数,备注:常用于查看进程是否启动-L统计最长一行的字符数-c统计字节数-m统计字符数-w统计单词数 3.实例 3.1.统计…...
京东店铺公司名爬虫
内容仅供学习参考,如有侵权联系删除 先通过京东非自营的店铺名拿到的公司名,再通过公司名称去其他平台拿到联系方式(代码省略) from aioscrapy.spiders import Spider from aioscrapy.http import Request, FormRequest import dd…...
如何解决不同浏览器的样式兼容性问题?
目录 1. 理解浏览器差异: 2. 使用标准CSS属性和值: 3. CSS Reset 或 Normalize: 4. 使用浏览器引擎前缀: 5. 使用CSS兼容性工具: 6. 测试和调试: 7. 使用Polyfill: 8. 条件注释…...
C++ 中迭代器的使用
在C中,"iter"通常是一个缩写,代表迭代器(iterator),用于遍历容器类(如数组、列表、向量等)中的元素。迭代器允许你按顺序访问容器中的元素,而无需了解底层容器的实现细节。…...
如何使用BERT生成单词嵌入?
阿比贾特萨拉里 一、说明 BERT,或来自变形金刚(Transformer)的双向编码器表示,是由谷歌开发的强大语言模型。它已广泛用于自然语言处理任务,例如情感分析、文本分类和命名实体识别。BERT的主要特征之一是它能够生成单词…...
第三章 内存管理 十一、虚拟内存的基本概念
目录 一、传统存储管理 1、缺点 二、局部性原理 1、时间局部性: 2、空间局部性: 三、虚拟内存的定义和特征 1、结构 编辑 2、定义 3、特征 (1)多次性: (2)对换性: (3)…...
web前端面试-- http的各个版本的区别(HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2.0、HTTP/3.0)
本人是一个web前端开发工程师,主要是vue框架,整理了一些面试题,今后也会一直更新,有好题目的同学欢迎评论区分享 ;-) web面试题专栏:点击此处 http的各个版本的区别 HTTP(超文本传输协议&…...
统计学习方法 隐马尔可夫模型
文章目录 统计学习方法 隐马尔可夫模型基本概念概率计算问题直接计算法前向算法后向算法前向概率和后向概率 学习问题监督学习算法Baum-Welch 算法E 步M 步参数估计公式算法描述 解码问题近似算法Viterbi 算法 统计学习方法 隐马尔可夫模型 读李航的《统计学习方法》时&#x…...
Cypress 与 Selenium WebDriver
功能测试自动化工具的王座出现了新的争夺:Cypress.io。赛普拉斯速度快吗?是的。赛普拉斯是交互式的吗?是的。赛普拉斯可靠吗?你打赌。最重要的是……这很酷! 但 Cypress 是Selenium WebDriver的替代品吗?S…...
Leetcode 第 365 场周赛题解
Leetcode 第 365 场周赛题解 Leetcode 第 365 场周赛题解题目1:2873. 有序三元组中的最大值 I思路代码复杂度分析 题目2:2874. 有序三元组中的最大值 II思路代码复杂度分析思路2 题目3:2875. 无限数组的最短子数组思路代码复杂度分析 题目4&a…...
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别?软件测试等相关概念入门篇
1、什么是软件测试? 常见理解: 软件测试就是找BUG,发现缺陷 真正理解: 软件测试就是验证软件产品特性是否满足用户的需求 测试定义: 测试人员验证软件是否符合需求的这个过程就是测试 2、为什么要有测试 标准情况下&a…...
VI/VIM的使用
1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模…...
【虹科干货】Redis Enterprise vs ElastiCache——如何选择缓存解决方案?
使用Redis 或 Amazon ElastiCache 来作为缓存加速已经是业界主流的解决方案,二者各有什么优势?又有哪些区别呢? 文况速览: - Redis 是什么? - Redis Enterprise 是什么? - Amazon ElastiCache 是什么&…...
XILINX DDR3 VIVADO(二)时钟配置与调试技巧
1. DDR3时钟配置基础概念 在Xilinx Vivado中使用DDR3 IP核时,时钟配置是最关键也是最容易出错的环节。我刚开始接触DDR3设计时,经常被各种时钟信号搞得晕头转向。后来才发现,只要理解清楚三个核心时钟信号,问题就解决了一大半。 首…...
广州邮科如何为你的系统选择合适的在线式充电机?
设备运行最怕断电。在线式充电机,就是那个能让设备“永不断电”的充电神器。今天咱们用大白话,把它讲清楚。它到底是什么?简单说,就是能一边给设备供电,一边给电池充电的智能设备。设备不用停机,电池也能充…...
DanKoe 视频笔记:人生规划:20-30 岁是教程阶段,切勿虚度 [特殊字符]
在本节课中,我们将要学习如何正确看待并规划你的20-30岁。这个阶段并非人生的“主游戏”,而是关键的“教程”阶段。我们将探讨常见的陷阱和有效的策略,帮助你为未来打下坚实基础,避免陷入平庸的循环。 这封信的内容可能会让一些人…...
CasRel在企业搜索中的应用:构建结构化语义索引提升召回质量
CasRel在企业搜索中的应用:构建结构化语义索引提升召回质量 1. 引言:当搜索遇到瓶颈 你有没有遇到过这种情况:在公司内部的知识库里搜索“2024年第三季度华东区的销售数据”,结果返回了一堆包含“销售”、“数据”、“华东”等关…...
Pixel Aurora Engine基础教程:Streamlit状态管理与多会话隔离机制
Pixel Aurora Engine基础教程:Streamlit状态管理与多会话隔离机制 1. 认识Pixel Aurora Engine Pixel Aurora是一款基于AI扩散模型的高端绘图工作站,采用独特的复古像素游戏风格界面。这款"虚拟游戏机"能将文字描述转化为极具视觉冲击力的像…...
环境科研必备:从入门到精通:大气颗粒物PMF源解析技术全案解析(含软件实操)
在大气环境科研领域,源解析是精准治污的“眼睛”。而在众多源解析方法中,PMF(正定矩阵因子分解)模型因其无需先验信息、结果物理意义明确等优势,成为了科研人员手中的“金标准”。然而,很多同学在实操中常常…...
从Java全栈工程师视角看Web开发的实战与思考
从Java全栈工程师视角看Web开发的实战与思考 面试现场:一次真实的技术对话 面试官:你好,我是今天的面试官,很高兴见到你。请先简单介绍一下自己。 应聘者:你好,我叫李明,28岁,本科学…...
Java应用等保三级合规改造:3天完成代码层、配置层、运维层全栈优化(附Checklist)
第一章:Java应用等保三级合规改造全景图等保三级是国家网络安全等级保护制度中面向重要信息系统的核心要求,对Java应用而言,合规改造不是单一技术点的修补,而是一套覆盖开发、运行、运维全生命周期的安全治理工程。其核心目标在于…...
IBM Plex字体家族全攻略:企业级开源字体的应用与实践
IBM Plex字体家族全攻略:企业级开源字体的应用与实践 【免费下载链接】plex The package of IBM’s typeface, IBM Plex. 项目地址: https://gitcode.com/gh_mirrors/pl/plex 企业级字体解决方案的价值解析 在数字产品设计中,字体作为视觉传达的…...
GLM-4.1V-9B-Base应用场景:零售货架图像识别与SKU自动盘点方案
GLM-4.1V-9B-Base应用场景:零售货架图像识别与SKU自动盘点方案 1. 零售行业面临的库存管理挑战 走进任何一家超市或便利店,你都会看到整齐排列的商品货架。但你可能不知道的是,这些看似简单的货架背后隐藏着一个巨大的管理难题 - 库存盘点。…...
