按名称搜索文件(使用java、lucene或tech stack)
我有很多图像文件,我想搜索其名称的具体文件。我正在寻找使用Java实现此功能的建议 注意:我使用过ApacheLucene,但它不适用于图像文件。我认为它是按文件内容搜索的 请建议可用于在大量图像文件(TB)中按名称搜索文件的最佳技术按名称搜索文件(使用java、lucene或tech stack),java,spring,apache,lucene,Java,Spring,Apache,Lucene,我有很多图像文件,我想搜索其名称的具体文件。我正在寻找使用Java实现此功能的建议 注意:我使用过ApacheLucene,但它不适用于图像文件。我认为它是按文件内容搜索的 请建议可用于在大量图像文件(TB)中按名称搜索文件的最佳技术 编辑 例如: 用户输入“引擎”,它应给出如下结果: X60_031004_P05_16_AJ126SC_ENGINE_COVER_AWD_2.jt X60_031004_P05_16_AJ127SC_ENGINE_COVER.jt您可以使用org.apache.
编辑 例如: 用户输入“引擎”,它应给出如下结果:
X60_031004_P05_16_AJ126SC_ENGINE_COVER_AWD_2.jt X60_031004_P05_16_AJ127SC_ENGINE_COVER.jt您可以使用
org.apache.commons.io.FileUtils
,如下所示:
File root = new File("C:\\");
String fileName = "Engine";
String[] extensions = {"jt"};
boolean recursive = true;
Collection files = FileUtils.listFiles(root, extensions, recursive);
for (Iterator iterator = files.iterator(); iterator.hasNext();) {
File file = (File) iterator.next();
if (file.getName().toLowerCase().contains(fileName.toLowerCase()))
System.out.println(file.getAbsolutePath());
}
您可以使用Lucene搜索文件名或一般图像元数据。而且它可能是比FileUtils更好的解决方案,尤其是如果你想拥有所有优秀的“搜索引擎”功能的话 我对此类要求没有任何经验,但我会这样做:
- 使用ApacheTika()进行元数据提取
- 使用apachelucene进行元数据索引和搜索
- 图像本身的专用存储,在Lucene索引中有一个引用