[Lucene] 루씬 Indexing #2 - DocValues란? Document의 Field type을 보다보면 xxxDocValue란 타입이 나옵니다.이 Field는 실제 값을 저장하지 않기 때문에 실제로 검색시 Document.get()으로 값을 받아올수도 없는 field인데 언제 쓰는걸까요?먼저 DocValue라는게 왜 생겨났는지 부터 보려면 Inverted index 얘기를 먼저 해 봐야 합니다.이 글은 하기 링크를 번역 및 의역 하였습니다.https://blog.trifork.com/2011/10/27/introducing-lucene-index-doc-values/ Inverted index는 term으로 document를 찾기에 좋은 형태입니다.(inverted idnex는 https://tourspace.tistory.com/245 글 확인)Invert.. 개발이야기/Lucene & Solr 5년 전
[Lucene] 루씬 - Document Field types Document를 생성할때, 각각의 field를 type에 맞게 결정해 줍니다.Value의 저장여부 부터 term vector 생성여부, data type에 따른 field등 각가 다르게 설정하기 때문에 Document가 어떤 Field를 지원하는지에 대한 내용을 정리합니다.이 문서는 apache 공식 API 문서를 참고하였습니다.http://lucene.apache.org/core/8_2_0/core/index.html Lucene version 8.2.0 StringFieldindex에는 포함가능하지만 tokenize는 하지 않습니다. 따라서 string 전체가 하나의 token이 됩니다.사용 예시: "국가명" 또는 "id" 값등 생성자의 인자중 value로 String을 넣으면 textual Str.. 개발이야기/Lucene & Solr 6년 전
[Lucene] 아파치 루씬 - 기본 따라하기 (indexing과 Searching 예제) Apache의 Lucene은 검색을 위한 라이브러리 입니다. 이 라이브러리를 기반으로 하여 Apache Solr 또는 ElasticSearch가 구동됩니다. 코드는 자바로 되어이어 자바로 코드를 작성하면 됩니다. 다만 여기서는 코드 간소화및 효율화를 위해 kotlin으로 예제를 작성하였습니다. 일단 간단한 예제로 루씬의 사용법을 설명합니다. ※ 예제는 Kotlin으로 작성되었습니다. Maven 설정pom.xml 파일에 아래와 같이 dependency를 추가합니다. Sample data download간단하게 몇몇 text를 만들어서 예제로 사용해도 좋지만, 실제와 유사하게 대량(??)의 데이터를 입력하고 해당 데이터를 검색하는 형태로 진행하기 위해 미국 항공 기록 데이터를 샘플로 사용하겠습니다. 먼저 하.. 개발이야기/Lucene & Solr 6년 전