elasticsearch安装在服务器并进行向量检索

服务器安装elasticsearch

安装Elasticsearch的步骤通常包括以下几个阶段:

  1. 导入Elasticsearch公钥。

  2. 创建Elasticsearch仓库。

  3. 安装Elasticsearch。

  4. 启动Elasticsearch服务。

  5. 配置Elasticsearch开机自启。

以下是针对基于Debian/Ubuntu系统的安装示例:

1. 导入Elasticsearch公钥

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

2. 添加Elasticsearch源

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

更新包信息

sudo apt-get update

3. 安装Elasticsearch

sudo apt-get install elasticsearch

4. 启动Elasticsearch服务

sudo systemctl start elasticsearch.service

5. 配置Elasticsearch开机自启

sudo systemctl enable elasticsearch.service

bash 复制代码
PUT my_vectors
{
  "mappings": {
    "properties": {
      "my_vector": {
        "type": "dense_vector",
        "dims": 5  // 设置向量的维度
      }
    }
  }
}

#添加文档:
POST my_vectors/_doc/
{
  "my_vector": [0.5, 1.5, 0.5, 0.5, 1.5]
}
 
POST my_vectors/_doc/
{
  "my_vector": [1.0, 1.0, 1.0, 1.0, 1.0]
}

#执行向量搜索:
GET my_vectors/_search
{
  "query": {
    "script_score": {
      "query": {
        "match_all": {}
      },
      "script": {
        "source": "cosineSimilarity(params.query_vector, 'my_vector') + 1.0",
        "params": {
          "query_vector": [0.5, 1.5, 0.5, 0.5, 1.5]
        }
      }
    }
  }
}

在这个例子中,首先创建了一个名为my_vectors的索引,并定义了一个名为my_vectordense_vector字段,用于存储5维向量。然后,向索引中添加了两个文档,每个文档包含一个向量。最后执行了一个向量搜索,使用余弦相似度(cosine similarity)来评估与查询向量的相似度。这个查询会返回所有文档的相似度得分。

相关推荐
黄焖鸡能干四碗15 小时前
智能制造工业大数据应用及探索方案(PPT文件)
大数据·运维·人工智能·制造·需求分析
世岩清上15 小时前
乡村振兴主题展厅本土化材料运用与地域文化施工表达
大数据·人工智能·乡村振兴·展厅
清水白石00815 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
说私域15 小时前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
MM_MS16 小时前
Halcon图像锐化和图像增强、窗口的相关算子
大数据·图像处理·人工智能·opencv·算法·计算机视觉·视觉检测
代码游侠16 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
Tisfy16 小时前
网站访问耗时优化 - 从数十秒到几百毫秒的“零成本”优化过程
服务器·开发语言·性能优化·php·网站·建站
2501_9335130416 小时前
Linux下载离线rpm和依赖包的方法
linux·运维·服务器
闲人编程16 小时前
消息通知系统实现:构建高可用、可扩展的企业级通知服务
java·服务器·网络·python·消息队列·异步处理·分发器
XiaoHu020716 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git