一, 关于ElasticSearch
ElasticSearch 是基于 Lucene 的分布式搜索引擎。 虽然Lucene 从 版本6 开始内部使用了bkd树使得多维搜索问题得到显著优化,但是 ElasticSearch 实际只在 numeric range 问题上使用了bkd树。

二,官方的图片搜索插件 
官方网页地址: https://www.elastic.co/blog/found-getting-started-with-lire-and-elasticsearch

该项目年久失修,正式发行版本只支持到ElasticSearch 1.0.1 ,readme也不能正常使用,而官方网页上介绍的上传图片是编程实现的,不利于尝试。所以下面介绍的使用步骤也是我一点点摸索出来的。

1,下载 ElasticSearch 1.0.1, 解压,cd到目录,执行 ./bin/plugin -install com.github.kzwang/elasticsearch-image/1.2.0安装插件。

2,执行./bin/elasticsearch启动服务器。

3,创建节点——打开cmd窗口,执行命令:

curl -XPOST 'https://localhost:9200/images' -d '{    "settings" : {        "number_of_shards" : 3    },    "mappings" :{    "image": {        "properties": {            "name": {                "type": "string"            },            "image": {                "type": "image",                "feature": {                    "CEDD": {                        "hash": "BIT_SAMPLING"                    },                    "JCD": {                        "hash": ["BIT_SAMPLING", "LSH"]                    },                    "FCTH": {}                }            }        }    }}}'

4,上传图片——执行命令:

curl -XPOST 'https://localhost:9200/images/image' -d '{ "name":"<图片名字>", "image":"<图片的base64编码>"}'

其中<图片名字>替换成图片的名字。

其中<图片的base64编码>替换成某张图片的base64编码,网上有很多在线工具可以用,比如“http://base64image.org/”。

可以多上传几张图片来测试搜索效果。

5,搜索——执行命令:

curl -XPOST 'https://localhost:9200/images/_search' -d '{"fields":["name"],"query":{"image":{"image":{"feature":"CEDD","image":"<要搜的图片的base64编码>","hash":"BIT_SAMPLING","limit":10}}}}'

其中<要搜的图片的base64编码>替换成要搜索的那张图片的base64编码。

以上3/4/5步也可以不使用curl,借助于ElasticSearch的另一个核心插件head中的复合查询界面与服务器通讯。head的安装命令是
./bin/elasticsearch-plugin install mobz/elasticsearch-head

上面几步执行完就可以看到搜索结果类似这张截图:

三,官方的图片搜索插件只支持到1.0.1,而ElasticSearch 版本目前已经到了6。网上已经有几个支持ElasticSeach 5 以上版本的图片搜索插件项目,比如这个基于tensorflow的https://github.com/tuan3w/visual_search。ES 版本5和6也有一些区别,ES 6中 script 需要继承的类是 SearchScript。

四,使用 es 做相似图片搜索在速度上并不理想,总是要将所有文档做一个评分才能得出最相似的那个。

ElasticSearch 图片搜索插件 (一)相关推荐

  1. 帝国CMS7.5基于es(Elasticsearch)7.x的全文搜索插件

    帝国CMS7.5基于es(Elasticsearch)7.x的全文搜索插件 - GXECMS博客 一.插件演示地址 后台演示地址:https://ecms.gxecms.cf/e/admin/inde ...

  2. 基于百度图片搜索的vscode插件——超级鼓励师

    简介 超级鼓励师是一款vscode插件,基于百度图片搜索服务,根据用户设置的关键字获取图片.并通过webview展示给用户.缓解程序猿/媛工作压力,给予你爱的鼓励. vscode 插件市场搜索超级鼓励 ...

  3. ElasticSearch分布式搜索框架

    目录 一. ElasticSearch背景 1.1 Elasticsearch介绍 1.2 Elasticsearch现状 1.3 Es最佳实践 二. 环境配置安装 2.1 Elasticsearch ...

  4. elasticsearch分布式搜索配置文件详解

    2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch是一个开源的分布式实时搜索与分析引擎,支持云服务.它是基于Apache Lucene搜索引擎的类库创 ...

  5. Elasticsearch的Shield插件

    2019独角兽企业重金招聘Python工程师标准>>> Shield是Elastic公司推出的商业权限管理插件,它可以保护Elasticsearch中的数据,采用加密的通讯密码,基于 ...

  6. wordpress图片水印插件DX-Watermark

    DX-Watermark是一款功能齐全的wordpress图片水印插件,可以自动给上传的图片添加文本或者图片水印. 后台截图: 文本水印: 图片水印: 选项说明: 类型:可选择文本或图片水印两种类型, ...

  7. 【Flutter】Image 组件 ( 加载网络图片 | 加载静态图片 | 加载本地图片 | path_provider 插件 )

    文章目录 一.加载网络图片 二.加载静态图片 三.加载本地图片 四.完整代码示例 五.相关资源 一.加载网络图片 参考 [Flutter]Image 组件 ( Image 组件简介 | Image 构 ...

  8. 10个相似图片搜索以图找图的网站

    有没有遇到过:看到一张图片,想找到它的原始图片,或者是凭着一张小的缩略图找出原始大图?不管你有没有遇到过,反正我是遇到了.不过现在不担心了,因为下面的十款搜索引擎可以帮你实现,以图找图,以图搜图,以图 ...

  9. Elasticsearch及相关插件的安装

    Elasticsearch及相关插件的安装 1.安装Elasticsearch并启动服务 2.安装第三方插件 2.1.Head插件 是Elasticsearch的一个集群管理工具,可以通过它来查看和搜 ...

  10. 懒加载、瀑布流和LightBox实现图片搜索效果

    开始 做一个小项目,算是对js和jQuery的一次练习吧. 图片资源来自这个网站(上面有很多高清图片关键还是免费下载的): https://unsplash.com/ 项目具体效果可以点这里: htt ...

最新文章

  1. 公布.NET 框架库源代码(转)
  2. 【Android RTMP】RTMP 数据格式 ( FLV 视频格式分析 | 文件头 Header 分析 | 标签 Tag 分析 | 视频标签 Tag 数据分析 )
  3. 关于jQuery中.attr()和.prop()
  4. (整理)用户空间_内核空间以及内存映射
  5. 左神算法:判断二叉树是否为平衡二叉树(树形dp套路,Java版)
  6. ubuntu上的wordpress安装
  7. windows核心编程学习笔记(八)结构化异常处理(Structured Exception Handling)
  8. tor the onion router下载_盒马生鲜超市购物app下载,打开盒马鲜生小程序!
  9. git报错error: src refspec refs/heads/master does not match any.
  10. jQuery温习篇---强大的JQuery选择器
  11. 基于GPON的光纤光栅通信网与传感网融合技术研究
  12. JDK动态代理简单实现
  13. java web使用的主流框架介绍
  14. 开学季,如何申请免费学生云服务器
  15. 计算机重启快捷键是什么,重启计算机的快捷键是什么?
  16. linux忘记root密码,单用户模式修改密码
  17. win7 台式电脑怎么调节屏幕亮度
  18. 车载网络基础——预备篇
  19. Word的扩展名是什么
  20. excel快速批量制作工资条

热门文章

  1. 语音翻译软件程序语言c,语音翻译app排行十大最好用的语音识别翻译软件
  2. 解决 Intel Extreme Tuning Utility(XtuService)的日志占用过大(直接删Logs或卸载)
  3. matlab欠采样,科学网—傅立叶欠采样算子的Matlab代码 - 屈小波的博文
  4. 基于肤色和眼睛定位的人脸检测算法——MATLAB实现
  5. java面试①整体流程
  6. AUTOCAD——超级填充命令3
  7. php pdo连接oracle乱码,PHP编程:php pdo oracle中文乱码的快速解决方法
  8. matlab模拟掷骰子,利用几何画板模拟掷骰子实验
  9. vs2015离线安装QT的vsix工具
  10. 12个月份的RGB配色