elasticsearch向量数据库服务搭建

elasticsearch向量数据库服务搭建

文章目录

  • elasticsearch向量数据库服务搭建
      • 一、es安装步骤
      • 二、es可视化kibana安装步骤
      • 三、安装elasticsearch-head
    • 四、数据测试,kibana脚本,操作es
    • 五、向量数据测试,kibana脚本,操作es
    • 参考资料

一、es安装步骤

1、创建网络

docker network create es-net

2、拉取镜像

docker pull elasticsearch:8.15.0docker pull docker.elastic.co/elasticsearch/elasticsearch:8.15.0

3、创建挂载目录

mkdir -p /home/data/elasticsearch/config
mkdir -p /home/data/elasticsearch/data
mkdir -p /home/data/elasticsearch/logs
mkdir -p /home/data/elasticsearch/plugins

4、赋予权限

chmod -R 777 /home/data/elasticsearch

5、创建配置(可选项)


vi /home/data/elasticsearch/config/elasticsearch.yml# 可访问IP
cluster.name: "my-es"
network.host: 127.0.0.1# 集群的节点列表(ElasticSearch8新配置)
# discovery.seed_hosts: ["es-ip:9300"]# 跨域开启密码
http.cors.enabled: true
http.cors.allow-origin: "*"
# http.cors.allow-headers: Authorization
xpack.security.enabled: false

6、创建脚本

vim startEs.shsudo docker run -d \
--restart=always \
--name elasticsearch \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--privileged \
-v /home/data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:8.15.0

docker exec -it elasticsearch /bin/bash# 关闭 密码安全验证echo 'xpack.security.enabled: false' >> elasticsearch.yml# 重启容器
sudo docker restart elasticsearch

7、测试Elasticsearch是否安装成功

http://192.168.198.197:9200

8、容器操作

# 进入容器
docker exec -it elasticsearch /bin/bashsudo docker exec -it elasticsearch /bin/bash# 重启容器
docker restart elasticsearch

二、es可视化kibana安装步骤

1、拉取镜像


docker pull kibana:8.10.2

2、创建配置(可选项)

vi /home/data/kibana/config/kibana.yml# 主机地址,可以是ip,主机名
server.host: 0.0.0.0
# 提供服务的端口,监听端口
server.port: 5601
# 该 kibana 服务的名称,默认 your-hostname
server.name: "bolei-kibana"
server.shutdownTimeout: "5s"#####----------elasticsearch相关----------#####
# kibana访问es服务器的URL,就可以有多个,以逗号","隔开
elasticsearch.hosts: [ "http://192.168.198.197:9200" ]
monitoring.ui.container.elasticsearch.enabled: true

3、启动镜像


sudo docker run -d \
--name kibana2 \
-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
--network=es-net \
-p 5601:5601  \
kibana:8.6.0

4、容器炒作

# 进入容器
docker exec -it kibana2 /bin/bashsudo docker exec -it kibana2 /bin/bash# 重启容器
docker restart kibana1

5、访问地址

http://192.168.198.197:5601

三、安装elasticsearch-head

直接使用浏览器插件Multi ElasticSearch Head

使用教程:https://blog.csdn.net/qq_50854662/article/details/135967448

四、数据测试,kibana脚本,操作es

dev tool控制台处理

# 创建索引
PUT goods_index# 查询索引
GET goods_index# 添加映射
PUT goods_index/_mapping
{"properties":{"age":{"type":"integer"},"name":{"type":"keyword"},"desc":{"type":"text"}}
}# 创建索引并且添加映射
PUT goods_index1
{"mappings": {"properties": {"age":{"type":"integer"},"name":{"type":"keyword"},"desc":{"type":"text"}}}
}# 添加文档,指定id
PUT goods_index/_doc/1
{"name":"张三","age":34,"desc":"北京人深圳来"
}# 添加文档,不指定id
POST goods_index/_doc
{"name":"李四","age":25,"desc":"四川妹子真辣"
}# 修改文档
PUT goods_index/_doc/1
{"name":"张三1111","age":34,"desc":"北京人深圳来"
}# 删除文档
DELETE goods_index/_doc/1# 查询文档 指定id
GET goods_index/_doc/56YoJ5IBpXr2Jk-kqx2q
# 查询所有文档
GET goods_index/_search# 删除索引
DELETE goods_index

五、向量数据测试,kibana脚本,操作es

1. 创建索引PUT /vector_index
{"mappings": {"properties": {"my_vector_field": {"type": "dense_vector","dims": 128},"my_text": {"type": "text"}}}
}2. 写入数据
PUT /vector_index/_doc/1
{"my_text": "示例文本","my_vector_field": [0.1, 0.2, ..., 0.128]
}3. 搜索查询
POST /vector_index/_search
{"query": {"script_score": { // 使用脚本评分来计算相似度得分"query": {"match_all": {}},"script": {"source": "cosineSimilarity(params.queryVector, 'my_vector_field') + 1.0", // 计算查询向量与存储向量的余弦相似度,并加 1.0 以确保得分非负"params": {"queryVector": [0.1, 0.2, ..., 0.128]}}}}
}

参考资料

  • https://blog.csdn.net/cmh1008611/article/details/141562198

  • https://blog.csdn.net/qq_50854662/article/details/135967448

开源项目地址:https://gitee.com/s11e-DAO/bsin-paas-os

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

crypto-js解密报错malformed utf-8 data

在进行加解密处理时出现这个问题。 但是当在一个完整程序运行环境内加密字符串,解密字符串是没问题的。 当把加密的字符存储到txt文件,在读取解密时出现错误无法解密。 最后,使用res.replace(/\s/g,‘’)正则过滤掉txt文件内的空格就成功了。…

若依生成主子表

一、准备工作 确保你已经部署了若依框架,并且熟悉基本的开发环境配置。同时,理解数据库表结构对于生成代码至关重要。 主子表代码结构如下(字表中要有一个对应主表ID的字段作为外键,如下图的customer_id) -- ------…

SOCKS5代理和HTTP代理哪个快?深度解析两者的速度差异

在现代互联网环境中,使用代理IP已经成为了许多人日常生活和工作的必备工具。无论是为了保护隐私,还是为了访问某些特定资源,代理IP都扮演着重要的角色。今天,我们就来聊聊SOCKS5代理和HTTP代理,看看这两者到底哪个更快…

【赵渝强老师】K8s中的Deployment控制器

K8s的Deployment将Pod部署成无状态的应用程序,它只关心Pod的数量、Pod更新方式、使用的镜像和资源限制等。由于是无状态的管理方式,因此Deployment中没有角色和顺序的概念,换句话说:Deployment中没有状态。   通过使用Deploymen…

UART 如何实现波特率自动检测原理介绍

为什么需要波特率自动检测机制 我们都知道,串口通讯是需要约定波特率才能够进行准确的通讯。此时假设,你们公司开发了一个板子,有一个串口与外接设备进行通讯。因为你们公司开发的产品要提供给多个客户,而有些客户可能之前就有一…

MacOS Catalina 从源码构建Qt6.2开发库之02: 配置QtCreator

安装Qt-creator-5.0.2 在option命令中配置Qt Versions指向 /usr/local/bin/qmake6 Kits选入CLang

SSM+Vue社区物业管理系统

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 spring-mybatis.xml3.5 spring-mvc.xml3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作…

【cache】浅析四种常用的缓存淘汰算法 FIFO/LRU/LFU/W-TinyLFU

本文浅析淘汰策略与工作中结合使用、选取,并非针对算法本身如何实现的 文章目录 FIFOLFULRUW-TinyLFU实践与优化监控与调整 FIFO first input first output , 先进先出,即最早存入的元素最先取出, 典型数据结构代表:…

Elasticsearch使用Easy-Es + RestHighLevelClient实现深度分页跳页

注意!!!博主只在测试环境试了一下,没有发到生产环境跑。因为代码还没写完客户说不用弄了( •̩̩̩̩_•̩̩̩̩ ) 也好,少个功能少点BUG 使用from size的时候发现存在max_result_window10000的限制&…

TypeScript介绍和安装

TypeScript介绍 TypeScript是由微软开发的一种编程语言,它在JavaScript的基础上增加了静态类型检查。静态类型允许开发者在编写代码时指定变量和函数的类型,这样可以在编译时捕获潜在的错误,而不是等到运行时才发现问题。比如,你…

基于STM32的无人驾驶车辆系统

目录 引言项目背景环境准备 硬件准备软件安装与配置系统设计 系统架构关键技术代码示例 传感器数据采集与处理路径规划与避障控制实时反馈与控制系统应用场景结论 1. 引言 随着无人驾驶技术的发展,嵌入式系统在无人驾驶车辆中的应用变得越来越重要。STM32作为高效…

Java SPI 原理、样例

在 Java 中,SPI(Service Provider Interface)全称为服务提供者接口,它是一种用于实现框架扩展和插件化的机制。 一、SPI 作用 允许在运行时动态地为接口查找服务实现,而不需要在代码中显式地指定具体的实现类。 这使得…

WordPress精选文章如何添加侧边栏和页面?

WordPress精选帖子是一项功能,可让用户在其网站主页或其他值得注意的部分突出显示特定帖子。这些精选帖子通常以视觉上独特的方式显示,例如以滑块、网格或轮播格式显示,以提高其可见性和对访问者的吸引力。 网站所有者可以手动选择他们想要推…

云计算Openstack

OpenStack是一个开源的云计算管理平台项目,由美国国家航空航天局(NASA)和Rackspace公司合作研发并发起,以Apache许可证授权。该项目旨在为公共及私有云的建设与管理提供软件支持,通过一系列相互协作的组件实现云计算服…

MMD模型及动作一键完美导入UE5-衣服布料模拟(四)

1、给角色刷布料 1、打开角色,通过Window->Clothing打开模型布料窗口 2、选中裙子右键,创建布料数据 3、选择裙子,右键->应用布料数据 4、激活布料画笔,就可以开始绘制布料了 5、调整画笔大小和布料值进行绘制,布料值为0表示刚体

高校教师成果管理小程序的设计与实现springboot(lw+演示+源码+运行)

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱,出错率高,信息安全…

5分钟精通Excel在go中的使用

一些简单操作可以在官方文档中找到,应该足够无经验的朋友们入门 介绍 - 《Excelize v2.2 中文文档》 - 书栈网 BookStack 这里贴一个中文版的链接(以excelize库为例,相对其他库来说,体验很不错),不过要注…

c++反汇编逆向还原——for循环(笔记)

c反汇编逆向还原代码for循环的实现,for循环和while循环在逆向还原的区别 一、汇编 mov :将源操作数复制到目的操作数 lea :与mov类似 mov a,b 表示将b赋值给a 若是 mov a,[b] 这是将b的地址赋值给a,相…

第一弹:llama.cpp编译

1.编译llama.cpp命令行(电脑版本); 2.交叉编译安卓命令行版本。 一、Llama.cpp是什么? 二、Llama.cpp编译 首先我们尝试编译llama.cpp. 2.1 下载llama.cpp 项目的github地址: https://github.com/ggerganov/llama…

Linux---文件io

1.系统调用 由操作系统实现并提供给外部应用程序的编程接口。(Application Programming Interface,API)。是应用程序同系统之间数据交互的桥梁。 C标准函数和系统函数调用关系。一个helloworld如何打印到屏幕。 man手册中一共有九卷,其中一卷就有讲到系…