可能在Elasticsearch中存储图像? [英] Possible to store images in Elasticsearch?

查看:203
本文介绍了可能在Elasticsearch中存储图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可以将图像存储在弹性搜索集群中吗?如果是,那么有关于工作流程的资源吗?我查看了以下链接: https://github.com/kzwang/elasticsearch-image



由于我们必须处理大型图像文件(超过500GB),我们打算使用HDFS。

解决方案

将整个图像存储在Elasticsearch中将不是非常有益的,因为如果图像被缩放/裁剪,然后用作查询,则会给出不正确的结果。你需要什么取决于你为什么要索引这些图像。



在我的情况下,我需要找到一个图像经过一些缩放或裁剪,有一个紧密匹配我的数据库。我正在提取图像的局部描述符(SIFT / SURF),并使用它们来构建一个弹性搜索索引。这将减少图像索引大小,而不是存储整个图像,只存储少量功能。我现在将S3中存储所有这些图像,Elasticsearch将存储这些图像的ID以及从中提取的特征。



关于弹性搜索图像:此插件一段时间没有更新,最新的问题回答是去年。此插件将 LIRE 与Elasticsearch集成,其中LIRE提供多个图像指纹提取器的功能。



可能的解决方案:


  1. 集成库OpenCv(来计算图像的特征向量)和弹性搜索和构建您自己的索引使用这些图像功能,而不是存储整个图像。对于产品架构,您可以获得一些提示:此处


  2. 使用兼容版本的elasticsearch-image的旧版本的弹性搜索。


  3. 图像可以使用最新版本的Elasticsearch。


  4. 您还可以使用SOLR以及 LireSolr 插件与LireSolr库集成。



Is it possible to store images in Elasticsearch clusters? If yes, then is there a resource about the work flow? I checked the following link: https://github.com/kzwang/elasticsearch-image

Since we have to handle large image files (over 500GB), we are planning to use HDFS.

解决方案

Storing whole images in Elasticsearch will not be very beneficial, because if the image is scaled/cropped and then used as a query, it will give incorrect results. What you need depends on why you want to index these images.

In my case, I need to find if an image after some scaling or cropping, has a close match in my database. I am extracting local descriptors (SIFT/SURF) of images and using them to build an Elasticsearch index. This will reduce the image index size as instead of storing the whole image, only a few features are stored. I will be storing all these images on S3 for now and Elasticsearch will store ids for these images along with the features extracted from them.

Regarding elasticsearch-image: This plugin has not been updated in a while and the most recent responses to issues were from last year. This plugin integrates LIRE with Elasticsearch, where LIRE provides the functionality of a multiple image fingerprints extractor.

Possible solutions:

  1. Integrate the library OpenCv (to compute feature vectors for an image) and Elasticsearch and build your own index using these image features instead of storing a whole image. For the product architecture, you can get some hints here.

  2. Use an older version of Elasticsearch with a compatible version of elasticsearch-image.

  3. Upgrade elasticsearch-image to work with the latest version of Elasticsearch.

  4. You can also use SOLR along with LireSolr plugin to integrate with the LireSolr library.

这篇关于可能在Elasticsearch中存储图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆