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)来评估与查询向量的相似度。这个查询会返回所有文档的相似度得分。

相关推荐
阿巴~阿巴~3 分钟前
自主Shell命令行解释器
linux·运维·服务器
SHUIPING_YANG30 分钟前
根据用户id自动切换表查询
java·服务器·数据库
倔强的石头10630 分钟前
大数据时代下的时序数据库选型指南:基于工业场景的IoTDB技术优势与适用性研究
大数据·时序数据库·iotdb
chao_7891 小时前
更灵活方便的初始化、清除方法——fixture【pytest】
服务器·自动化测试·python·pytest
枷锁—sha1 小时前
【DVWA系列】——CSRF——Medium详细教程
android·服务器·前端·web安全·网络安全·csrf
枷锁—sha1 小时前
跨站请求伪造漏洞(CSRF)详解
运维·服务器·前端·web安全·网络安全·csrf
scuter_yu1 小时前
腾讯云云服务器深度介绍
服务器·云计算·腾讯云
群联云防护小杜1 小时前
深度隐匿源IP:高防+群联AI云防护防绕过实战
运维·服务器·前端·网络·人工智能·网络协议·tcp/ip
van叶~2 小时前
Linux探秘坊-------15.线程概念与控制
linux·运维·服务器
火火PM打怪中4 小时前
产品经理如何绘制服务蓝图(Service Blueprint)
大数据·产品经理