2017-10-13 3 views
-1

이미지 파일이 많고 특정 파일을 이름으로 검색하려고합니다. 나는 자바를 사용하여 이것을 구현하기위한 제안을 찾고있다.이름으로 파일 찾기 (java, lucene 또는 tech 스택 사용)

참고 : 아파치 lucene을 사용했지만 이미지 파일에는 사용할 수 없습니다. 파일 내용별로 검색하는 것 같습니다.

많은 양의 이미지 파일 (TB 기준)에서 이름별로 파일을 검색하는 데 사용할 수있는 최상의 기술을 제안하십시오.


편집

예 :

X60_031004_P05_16_AJ126SC_ENGINE_COVER_AWD_2.jt X60_031004_P05_16_AJ127SC_ENGINE_COVER.jt

+0

무엇이 넉넉합니까? 100.000? 1 백만? 1 억? – RobAu

+0

Lots는 공유 드라이브에 이미지 파일이 들어있는 12-15 개의 폴더가 있고 크기는 TB입니다. (하나의 폴더에 약 50k 개의 파일) –

답변

0

당신은 사용할 수 있습니다

사용자가 결과 등을 제공한다, '엔진'에 진입 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()); 
    } 
+0

FileUtils를 시도하지는 않았지만 FileUtils는 드라이브 크기 또는 파일의 양을 고려하여 타임 라인에서 확장되지 않습니다. 나는 시험해 볼 것이지만. –

0

Lucene을 사용하여 파일 이름이나 일반적인 이미지 메타 데이터를 검색 할 수 있습니다. 특히 FileUtils보다 더 나은 솔루션입니다. 특히 "SearchEngine"기능을 모두 갖추고 싶다면 더욱 그렇습니다.

내가 요구 사항 이런 종류의 어떤 경험이 없어하지만 난 이런 식으로 할 것 :

    아파치 티카 아파치 루씬
  • 와 (https://tika.apache.org/)
  • 메타 데이터 인덱싱 및 검색과
  • 메타 데이터 추출 Lucene 인덱스 내부에 참조가있는 이미지 자체를위한 전용 저장소
+0

감사합니다. Apache Lucene으로 색인 생성 및 검색을 시도했지만 이미지 디렉토리에 데이터 디렉토리를 지정하면 작동하지 않습니다./드라이브 경로 파일입니다. 나는 PDF 파일에서 그것을 시도하고 작동, lucene 출력 파일 이름을 파일 이름을/이미지 파일을 어떤 내용 (텍스트), 파일 이름/경로를 반환하지 않는 것 같아요 –

+0

물론 당신은 별도의 필드로 경로를 색인 생성 할 수 있습니다 . 내 이해를 위해 자신 만의 인덱스 구조를 정의 할 수 있습니다. 그래서 당신은 tika에서 정보를 가져 와서 어떤 필드에서나 색인을 붙일 수 있습니다. 이 정보를 검색하지 않으려면 StoredField 만 사용할 수 있습니다. – dom