[Lucene] 루씬 Indexing #3 - Analyzer 기초 (1/3) 루씬에서 Indexing 작업은 주어진 Text를 Term으로 쪼개서 검색 가능한 최소한의 단위로 만드는 작업이라고 볼수 있습니다.그리고, 그 단어들을 검색하기 편하도록 거꾸로 정리 놓는거죠. (Inverted index 말입니다.) 이번에는 indexing 작업중에 Text를 쪼개서 Term으로 만드는 방법에 대해서 설명합니다.이렇게 대상 Text를 잘게 잘라서 term을 만드는 작업은 Analyzer가 수행합니다. 이 글은 "실전비급 아파치 루씬 7"을 참고하였습니다.자세한 설명 및 다양한 예제는 해당 책을 구매하여 확인하시기 바랍니다. ※ 모든 예제 코드는 Kotlin으로 작성되었습니다. (Lucene library 원본 코드 제외) 크게 나누어 분석은 아래의 단계를 거칩니다.CharFilter -.. 개발이야기/Lucene & Solr 6년 전
[Lucene] 루씬 indexing #1 - 기본 루씬의 기본 동작은 indexing과 searching 입니다.word든 xml이든, txt이든 csv든 간에 먼저 text로 만든 다음에 이를 검색하기 좋도록 index를 만들고 이를 이용하여 검색을 진행합니다. Inverted IndexingLucene은 빠른 전문 검색(Full Text Serach)를 하기 위하여 inverted index를 생성하여 사용합니다.Lucene 관련 공식문서나, 기타 문서들을 찾아보면 inverted index라는 용어를 많이 사용하는데, 말 그대로 일반적인 index의 key와 value를 뒤집어 놓은 형태입니다. 말보단..사진이 빠릅니다. 먼저 책상의 개발서적중 아무거나 하나를 꺼냅니다.(저는 최근 가장 재밌게본 "다시 미분적분"의 책을 꺼내서 사진을 찍었습니다)그.. 개발이야기/Lucene & Solr 6년 전