Elasticsearch 向量数据库本地部署 及操作方法

elasticsearch是个分布式向量数据库,支持多种查找模式。此外还拥有 Metadata、Filtering、Hybrid Search、Delete、Store Documents、Async等能力。本文仅是记录本地测试途中遇到的问题。

一,环境部署

下载软件

首先去官网,选择适合平台下载
https://www.elastic.co/downloads/elasticsearch

启动配置

解压后找到config目录下的elasticsearch.yml

找到98行将这里改为false,否则我们无法在浏览器中正常访问
在这里插入图片描述
然后找到32、37行设置数据和记录的存储位置
在这里插入图片描述
找到92行设为false,否则会提示安全错误
在这里插入图片描述
设置后保存即可

启动数据库

回到上层,进入bin目录,找到bat可执行文件双击后等待,
在这里插入图片描述
随后弹出控制台,若无报错信息便是启动成功了
在这里插入图片描述
完成启动后用浏览器访问localhost:9200 或127.0.0.1:9200,如果看到如下信息就算可以成功访问了
在这里插入图片描述

二,操作数据库(浏览器api)

可以直接通过http api、postman来操作es数据库。

创建索引
模式:PUT 
参数:/products(索引名 )
数据:
{"settings": {"number_of_shards": 1, (主分片的数量)"number_of_replicas": 0 (副本分片的数量)}
}
添加文档
模式:POST
参数: /products/_doc/1(指定文档id 1,如果不写doc 1 那么就会自动生成id)
{"title":"天气","content":"晴天霹雳"
}
查询文档
模式:GET
参数:/products/_doc/1(指定文档id)
更新文档

es中更新文档是先删除再添加

模式:PUT
参数:/products/_doc/1(指定文档id)
删除文档
模式:DELETE
参数:/products/_doc/1(指定文档id)

三,操作数据库(Python)

安装Elasticsearch

pip install Elasticsearch

初始化
from flask import Flask, request, jsonify
from elasticsearch import Elasticsearch
#链接目标数据库
es = Elasticsearch(hosts="localhost:9200") 
创建索引
es.indices.create(index='游戏攻略', body={}) 
向索引插入文档
		doc = {'title':title,'content':content}es.index(index='游戏攻略', body=doc)
查找索引
		query = {'query': {'match': {# 'title': title,'content': content}# "match_all": {}}}result = self.es.search(index=indexName, body=query)# print(result)if result['_shards']['total'] > 0:print('找到相关数据')
删除索引
es.indices.delete(index=index)

四,问题解决

  1. 如果出现“method is deprecated. Use ‘Elasticsearch.options()’ instead”
    第一种方法:将创建索引的方式改为es.indices.create(index=‘身份介绍2’, body=doc) x这种形式就行了
    第二种方法:版本降级 pip install elasticsearch==7.13.0

  2. 如果在浏览器测试时出现下面这个框,或提示“security_exception”,就把elasticserch.yaml 的xpack.security.enabled设为 false
    在这里插入图片描述

  3. 如果提示“Could not rename log file ‘logs/gc.log’ to ‘logs/gc.log.20’ (Permission denied).”
    4.python 安装
    pip install llama-index-vector-stores-elasticsearch
    pip install elasticsearch

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

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

相关文章

GoF 代理模式

代理模式的理解 代理模式,就是自己做不了,需要别人来代理,代替自己来完成。最终这个行为还是要发生,只不过不是由自己来完成,而是由别人代理完成,只是对于客户其他人来说感受不到 代理模式的作用&#xf…

MySQL复习3

视图 视图(view)是一种虚拟存在的表,是一个逻辑表,本省没有数据,内容由查询定义。 基表:用来创建视图的表叫做基表 通过视图,我们可以查看基表的部分数据。视图数据来自定义视图的查询中使用…

RISC-V (八)定时器中断

​​​​​​​riscv中断的分类 Core local INTerrupt: CLINT CLINT编程接口-寄存器 mtime寄存器,由中断触发的时钟,按照固定频率计数。

【基础算法总结】BFS_多源最短路问题

目录 1. 算法介绍2. 算法原理和代码实现542.01矩阵1020.飞地的数量1765.地图中的最高点1162.地图分析 3. 算法总结 1. 算法介绍 所谓多源,就是有多个起点。对应上一篇文章【BFS_最短路问题】的单源问题。这篇文章介绍用bfs解决边权为1(或边权相等)的多源最短路问题…

监控平台之rollup打包

设计思路 1.根据模块,通过index.js去调用执行调用 2.WebEyeSDK.js暴露方法,同时定义init方法,去初始化config里的上报参数 3.rollup/build里入口文件为WebEyeSDK.js进行打包 4.打包编译用babel,同时安装babel/preset-env智能预…

网络安全服务基础Windows--第12节-域与活动目录

工作组 在Windows环境中配置⼯作组相对简单,适合⼩型⽹络环境,如家庭或⼩型办公室⽹络。⼯作组通过简单的⽹络共享和本地管理来实现资源共享,⽽不依赖于中央控制的服务器。 ● 定义:⼯作组是⼀种对等⽹络模型,在这种…

【鸿蒙开发从0到1 day05】

一. 清除浮动 1.当外面的大盒子,仅仅只设置了宽度,里面的子盒子为了行排序, 设置了浮动,以至于小盒子脱标,大盒子的高度为0,这个时候就会导致大盒子下面的盒子会跑上去 解决办法方法一:给父盒子添加overflow:hidden,这个就是如果子盒子有溢出,,溢出部分会隐藏方法二:在子盒子的…

Linux【2】文件目录-ls进阶

目录 ls 组合使用:ls -lha​编辑 ls 通配符 ls .是隐藏文件 ls -a可以显示所有文件包括隐藏文件 ls- l列表形式,详细信息 ls -l -h 大小更详细 组合使用:ls -lha ls 通配符 *任意长度 ?一个字符 带扩展名 可选from…

计算机网络-VRRP切换与回切过程

前面我们学习了VRRP选举机制,根据VRRP优先级与IP地址确定主设备与备份设备,这里继续进行主备切换与主备回切以及VRRP抢占模式的学习。 一、VRRP主备切换 主备选举时根据优先级选择主设备,状态切换为Master状态,那当什么时候会切换…

HTTPS 协议“加密和解密”详细介绍

目录 一、加密 二、HTTPS的工作过程 2.1 引入对称加密 2.2 引入非对称加密 2.3 中间人攻击 2.4 引入证书 2.5 理解数据签名 2.6 通过证书解决中间人攻击 三、总结 HTTPS 是一个应用层协议,是在 HTTP 协议的基础上引入了一个加密层。 一、加密 加密就是把明文&#x…

Golang环境安装、配置详细

Windows下安装Go开发环境 点我下载 Windows配置Go环境变量 出现工具install失败时,切换其它代理 # 1. 七牛 CDN go env -w GOPROXYhttps://goproxy.cn,direct# 2. 阿里云 go env -w GOPROXYhttps://mirrors.aliyun.com/goproxy/,direct# 3. 官方 go env -w GOP…

【wsl2】从C盘迁移到G盘

参考大神 C盘的ubuntu22.04 非常大,高达30g 迁移后就只有几百M了: 右键有一个move没有敢尝试 迁移过程 Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.Install the latest PowerShell for new features and improveme…

Xcode插件开发

Xcode插件开发 文章目录 Xcode插件开发一、插件开发流程创建插件Extension文件介绍文件说明 二、插件使用安装说明 一、插件开发流程 创建插件的过程并不复杂,只是官方教程,过于简单,所以这里补充下创建细节 创建插件 环境:Xco…

vue在生产环境和测试环境去掉 console 打印日志 只保留 “error“、 “warn“

vue在生产环境和测试环境去掉 console 打印日志 只保留 “error”、 “warn” 文章目录 vue在生产环境和测试环境去掉 console 打印日志 只保留 "error"、 "warn"一、安装插件二、babel.config.js配置 一、安装插件 npm install babel-plugin-transform-r…

C++11中的function和bind

目录 1.一个引例 2.function 什么是function? function模板原型 function的使用 使用示例代码 使用function解决引例中的问题 3.bind 什么是bind? 如何理解bind? bind的使用 4.function和bind总结 1.一个引例 看下面这一段代码…

仿华为车机UI--图标从Workspace拖动到Hotseat同时保留图标在原来位置

基于Android13 Launcher3,原生系统如果把图标从Workspace拖动到Hotseat里则Workspace就没有了,需求是执行拖拽动作后,图标同时保留在原位置。 实现效果如下: 实现思路: 1.如果在workspace中拖动,则保留原来“改变图标…

前端脚手架,自动创建远程仓库并推送

包含命令行选择和输入配置,远程仓库拉取模板,根据配置将代码注入模板框架的代码中,自动创建远程仓库,初始化git并提交至远程仓库,方便项目开发,简化流程。 目录结构 创建一个bin文件夹,添加ind…

云计算之存储

目录 一、产品介绍 1.1 对象存储oss 1.2 特点 二、产品技术背景 三、产品架构及功能 四、常见问题及排查思路 4.1 两个bucket目录文件如何快速复制? 4.2 oss里的目录如何删除? 4.3 能否统计oss一个目录的大小 4.4 异常诊断 - 上传下载速度慢 4…

CentOS 7安装Docker详细步骤-无坑-丝滑-顺畅

一,安装软件包 yum install -y yum-utils device-mapper-persistent-data lvm2二,更换yum源为阿里源: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 三,查看docker版本&…

uniapp 自定义微信小程序 tabBar 导航栏

背景 做了一个校园招聘类小程序,使用 uniapp vue3 uview-plus pinia 构建,这个小程序要实现多角色登录,根据权限动态切换 tab 栏文字、图标。 使用pages.json中配置tabBar无法根据角色动态配置 tabBar,因此自定义tabBar&…