나는 Java 기반 응용 프로그램과 MySQL 데이터베이스에 키워드 집합을 가지고 있습니다 (약 3M 키워드에 대해 각각 하나 이상의 단어가 포함될 수 있습니다. 예 : "메모리", " 오래된 집 ","유럽 연합법 "등).Java에서 다중 키워드 검색
사용자는 임의의 텍스트 (대부분 몇 페이지)로 문서를 업로드하여 응용 프로그램과 상호 작용합니다. 내가 원했던 것은 문서에서 300 만 개의 키워드가 나타나는 위치와 위치를 검색하는 것입니다.
나는 루프를 사용하고 각 키워드에 대해 문서를 검색해 보았지만 이는 효율적이지 않습니다. 더 효율적인 방법으로 검색을 수행 할 라이브러리가 있는지 궁금합니다.
대단히 감사하겠습니다.
키워드 옆의 열에 각 키워드에 대한 저장 해시가 있고, 각 단어를 검사하는 문서를 읽는 중에는 'keyword_hash = calculateHash (wordToCheck)'라는 키워드에서 키워드를 선택하십시오. – rzysia
고려해야 할 사항은 최단 경로가 무엇인가하는 것입니다. 300 만 건의 검색을 수행하거나 업로드 된 문서에서 N 개의 구를 작성합니다. 해결책은 모든 3M 키워드를 검색하여 문서를 검색하는 것입니다. Lucenes Keyword Highlighter를 사용하고 강조 표시된 모든 단어를 3M 키워드와 일치 시키십시오;) –
하이 라이터의 동일한 추출 된 텍스트 부분에서 다중 키워드 결과를 얻는 방법이 있습니까? 또는 파일 내에있는 일치하는 키워드의 목록을 반환 할 수있는 구조가 있습니까? –