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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • OpenStack概论和部署
  • npm 换源
  • 如何录制黑神话悟空的游戏BGM导入iPhone手机制作铃声?
  • Datawhale X 李宏毅苹果书 AI夏令营-深度学习进阶task2:自适应学习率,分类
  • 上海亚商投顾:深成指、创业板指均涨超1%,华为产业链反复活跃
  • PySide6复杂C/S系统开发
  • java 常用并发队列- DelayQueue
  • 靶场战神为何会陨落?
  • IP地址查询功能详解—构建风险画像与代理识别
  • Type-C接口 未来发展趋势
  • 重拾英语,从头学起
  • 牛客std:pair,指针+递归+整体法的使用
  • 红黑树的插入 C++
  • tomcat架构设计分析,核心组件详解
  • 【C++】容器list常用接口详解
  • 【347天】每日项目总结系列085(2018.01.18)
  • CSS实用技巧
  • gf框架之分页模块(五) - 自定义分页
  • Hibernate【inverse和cascade属性】知识要点
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • js写一个简单的选项卡
  • laravel with 查询列表限制条数
  • Python打包系统简单入门
  • Python语法速览与机器学习开发环境搭建
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 大型网站性能监测、分析与优化常见问题QA
  • 基于web的全景—— Pannellum小试
  • 力扣(LeetCode)22
  • 排序(1):冒泡排序
  • 如何设计一个比特币钱包服务
  • 微服务框架lagom
  • 小程序测试方案初探
  • scrapy中间件源码分析及常用中间件大全
  • zabbix3.2监控linux磁盘IO
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 如何用纯 CSS 创作一个货车 loader
  • 整理一些计算机基础知识!
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​比特币大跌的 2 个原因
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • # 达梦数据库知识点
  • #define用法
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (19)夹钳(用于送货)
  • (7)STL算法之交换赋值
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (zhuan) 一些RL的文献(及笔记)
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (转)JAVA中的堆栈
  • (转)关于pipe()的详细解析
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .bashrc在哪里,alias妙用
  • .NET CORE Aws S3 使用