이것은 일반적인 Java 문제로 간주 될 수 있지만 이해를 돕기 위해 Lucene을 예제로 사용하고 있습니다.Lucene이 텍스트를 토큰으로 처리하는 프로세스
Lucene에서 다른 토큰 화 도구를 사용하여 텍스트를 토큰화할 수 있습니다. 주요 추상 Tokenizer 클래스가 있고 그 클래스를 확장하는 여러 클래스가 있습니다. TokenFilter에 대해서도 마찬가지입니다.
이제 문서를 색인 할 때마다 새로운 Tokenizer가 만들어집니다. 질문은, Tokeinzer가 단지 유틸리티 클래스 일 뿐이므로, 정적으로 만들지 않겠습니까? 예를 들어, 모든 문자를 소문자로 변환하는 Tokenizer는 가져 오는 모든 입력에 대해이를 수행하는 정적 메서드를 가질 수 있습니다. 색인을 생성하려는 모든 텍스트 부분에 대해 새 개체를 만드는 것은 무엇입니까?
Tokeinzer에는 토큰화할 입력을 포함하는 개인 필드가 있습니다. 토큰 화 프로세스가 끝나고 새 토큰 화 된 텍스트가 반환 된 직후 개체가 파괴되므로이 방법으로 저장해야하는 이유는 알 수 없습니다. 내가 생각할 수있는 유일한 것은 멀티 스레드 액세스 일 것입니다.
감사합니다.
고마워요. 이것은 지금 많은 의미가 있습니다. – user431336