[Lucene] Inverted index file - 역인덱스 파일
ITWeb/검색일반 2017. 11. 14. 23:15루씬에서 검색을 하기 위해 필요한 파일을 살짝 알아보겠습니다.
파일 구조와 목록은 아래 문서를 참고 하시기 바랍니다.
Lucene Index File Formats)
그럼 실제 검색을 위해 보셔야 하는 기본이 되는 클래스는
- IndexSearcher
- IndexReader
- CollectionStatistics
- TermStatistics
이렇게 4개 정도 보시면 될 것 같습니다.
검색을 위해 필요한 정보는
- Documents
- Fields
- Terms
- FieldInvertState
이렇게 4개 정도가 필요 합니다.
딱 봐도 "searchField:elasticsearch" 하면
- searchField 라는 field 정보가 필요하고,
- elasticsearch 라는 term 관련 정보도 필요하고,
- elasticsearch 라는 term 이 있는 document 정보도 필요하고,
- 해당 field 에서의 term 이 추출 된 offset과 position 정보가
필요합니다.
이걸 정리한 이유는 오늘 누가 custom function score query 를 사용하여 다수의 field 에 대한 ranking term boosting 기능을 사용하고 있는데 성능적으로 개선 할 수 있는 방법이 없는지 물어봐서 간단하게 정리해봤습니다.
Query 튜닝은 한계가 반드시 존재 합니다.
서버의 구조적인 개선과 튜닝을 병행해야 하며 다수의 field 에 대한 다수의 term boosting 은 최적화를 통해 최소화 해서 사용하는걸 추천 드립니다.
그리고 inverted index file 이라는 것은 루씬에서 하나의 파일만 이야기 하는 것이 아니라 lucene 이 가지고 있는 index file 목록들이 inverted index file 을 구성 한다고 보시면 될 것 같습니다.