3

我想创建一个在其数据库中搜索类似文档的应用程序;例如。用户上传了一个文档(文本、图像等),我想查询我的应用程序是否有类似的。

我已经为该过程创建了必要的算法(指纹、特征提取、散列、散列比较等),我正在寻找一个框架,它将所有这些结合起来。

例如,如果我要在 Lucene 中实现它,我会执行以下操作:

  • 创建一个自定义的“tokenizer”和“stemmer”(~特征提取和指纹)
  • 比将创建的元素添加到 Lucene 索引
  • 最后使用 MoreLikeThis 类查找相似的文档

所以,基本上 Lucene 可能是一个不错的选择——但据我所知,Lucene 并不是一个文档相似性搜索引擎,而是一个基于术语的搜索引擎。

我的问题是:是否有任何可能适合上述问题的应用程序/框架?

谢谢,克里斯

更新:我上面描述的过程似乎被称为基于内容的媒体(声音、图像、视频)。检索。

有很多项目为此使用了 Lucene,请参阅:http ://wiki.apache.org/lucene-java/PoweredBy(Lire、Alike 等),但仍然没有找到任何专用框架...

4

2 回答 2

0

如果我说得对,您有自己的数据库,并且您在用户上传时/之后在数据库中搜索其是否重复或复制/类似。

如果是这样的话,相比之下,域是非常大的..

1)对于图像,你必须使用模式匹配,很少有论文可用于图像重复查找器,在网上搜索它们你会得到很多选项,

2)对于 Document 再次有特征划分

  1. 医生(x)
  2. PDF格式
  3. TXT
  4. RTF等。

每个文件都有不同的属性,现在这里Lucene可以帮助你,但它的搜索引擎,

在搜索语言模式时,我们需要检查很多事情,因为您正在搜索相似(不完全相同)。

所以,模糊语言程序会派上用场。

这个要求太大了,论坛页面无论如何都不足以解释一切,我希望这么多就可以了

于 2013-05-13T11:58:47.580 回答
0

由于您使用的是 Lucene,因此您可能会看一下 SOLR。我确实意识到它也不是一个专用于您的目的的框架,但它确实在 Lucene 之上添加了一些非常方便的东西。鉴于 Lucene 的可插拔性、它的跟踪记录以及那里有大量有用资源的事实,SOLR 可能会帮助您完成工作。

此外,@mindas 指出的答案是指向博客文章的链接,该文章描述了如何使用 SOLR 实现目标的技术细节(但同时您可能已经阅读过)。

于 2013-05-13T12:06:52.720 回答