es向量搜索插件-knn

es向量搜索插件-knn,第1张

1. knn向量检索插件

使用过下面两个插件

https://github.com/opendistro-for-elasticsearch/k-NN

优点: 相对elastiknn,该插件支持把底层生成hnsw一个结构加载进内存,376w数据,768纬度向量,搜索性能在300-400ms左右

缺点: 

1.该插件需要基于nmslib生成一个c的so文件,该文件比较依赖底层 *** 作系统的库,建立项目最好使用docker容器的方式,不然把本地打的so文件,放到其他环境会出现各种bug,比如: [libKNNIndexV1_7_3_6.so_0x6b1da]  _GLOBAL_sub_I_distcomp_sparse_scalar_fast.cc+0x2a

2. 该插件对应于es7.7.1的版本存在各种bug,比如打重复分数、使用cosine距离,但是实际算出来是l2距离,因此建议使用最新的版本,目前最新该插件对应的es版本是7.10.2

2. https://github.com/alexklibisz/elastiknn

优点: 这个是完全对接了es和luence语法的,应该java原生应用,这个不需要安装so库,官网直接就有插件,使用起来比较简单

缺点: 性能相对于上面插件有差距,看官网的QPS在400多左右

1、可以选择使用ES文件浏览器的7z插件,点击下载。

2、找到下载的文件,点击复制。

3、在设置中点击打开显示隐藏文件,点击进入文件后缀名为.estrongs的文件。

4、可以看到plugin文件夹,然后将刚刚下载的文件复制进去。

5、就会发现刚刚需要使用的文件已经被解压了。

使用浏览器打开 http://192.168.10.2:9200 。如果能正常打开说明head插件安装正确 现在集群健康状态哪里显示未连接,这是因为head插件没有权限获取集群节点的信息,接下来设置权限

如果想查询集群健康信息,那么需要在elasticsearch配置文件中授权

此文件修改后需要重新登录用户,才会生效

保存后,执行名利

重新启动,成功。

bin/elasticsearch &

修改elasticsearch.yml配置文件

elasticsearch使用java的jvm默认是使用1G的内存的,这里我们修改一下内存,直接把内存改到200m

修改内容


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11508394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存