使用过下面两个插件
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
修改内容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)