건설 Lucene- 예를 들어 프로그램 설치 기반

건설 Lucene- 예를 들어 프로그램 설치 기반

  • 이 기사에 대해
  • 샘플 프로그램 소개
  • CLASSPATH 환경 변수 설정
  • 검색 인덱스를 사용하여
  • 코드에 대한
  • 핵심 코드
  • 인덱스 파일
  • 검색 색인

이 기사에 대해

이 문서의 목적은 빠른 시작 예제 프로그램을 통해 도움이 기본 설치 과정 및 구성을 이해하는 것입니다.

예제 소개

루씬 샘플 프로그램은 응용 프로그램에 포함하는 방법뿐만 아니라, 다양한 기능을 보여줍니다.

CLASSPATH 환경 변수 설정

첫째, 당신은 루씬 패키지의 최신 버전을 다운로드 한 다음 디렉토리에 압축을 해제해야합니다.

그런 다음 네 개의 JAR 패키지를 얻을 것이다 : 루씬 - 코어 - {버전}의 .jar, 루씬-queryparser- {버전}의 .jar, 루씬 - 분석기 - 커먼 {버전}의 .jar, 루씬-demo- {버전}의 .jar 클래스 경로에 배치 네 개의 JAR 패키지로 제공된다.

검색 인덱스를 사용하여

제대로 CLASSPATH 환경 변수에 다음 색인 파일을 설정 한 가정.

java org.apache.lucene.demo.IndexFiles -docs {path-to-lucene}

위의 명령은 모든 루씬 색인 생성 된 소스 코드를 포함하는 인덱스라는 하위 디렉토리를 만듭니다.

인덱스의 설립이 완료되면, 인덱스 검색에 다음 명령을 사용합니다 :

java org.apache.lucene.demo.SearchFiles

루씬 소스 코드 단어가 아니기 때문에 supercalifragilisticexpialidocious을 검색하려고하면, 어떤 결과를 얻을 수 없습니다. 단어 변경, 같은 문자열로, 다시 시도하십시오. 그리고 물론, 당신은 또한 더 많은 결과에게 필요한 요구 사항을 반환 할 수 있습니다 10 페이지 복귀, 당 결과를 많이 얻을.

코드에 대한

깊은 뒤에 명령 행에이 논문 - 소스 코드는 핵심 코드, 어디서, 어떤 기능을 사용하면 자신의 응용 프로그램 루씬을 통합하는 방법을 알 수 있도록하기위한 것입니다 무엇을 말할 수 있습니다.

핵심 코드

  • IndexFiles.java는 : 인덱스 파일을 만드는 데 사용
  • SearchFiles.java : 검색 인덱스 파일

인덱스 파일

인덱스 파일을 만들기위한 IndexFiles 클래스 이상 말하기,의 그것이 수행하는 방법을 살펴 보자.

구현 프로세스를 IndexFiles :

main () 메소드는 명령 줄 인수를 구문 분석, 그리고, IndexWriter를 초기화 디렉토리를 열고 다시 초기화 StandardAnalyzer IndexWriterConfig.

IndexFiles 명령 줄 인수 :

  • -index : 값 -index 매개 변수가 지정되지 않으면 현재 디렉토리가 존재하지 않는 경우 디렉토리 인덱스 파일에 대한 경로를 지정하는 저장되어, 상대 인덱스를 사용하여 기본 경로는 새로 만듭니다. 이러한 사용자 디렉토리 인덱스 디렉토리와 같은 일부 플랫폼, 기본에 만든 다른 디렉토리에있을 수 있습니다.
  • -docs : 인덱스를 만들 수있는 문서의 경로를 지정합니다.
  • -update : 삭제하지 않는 지침 IndexFiles 인덱스 파일이 이미 존재하지이 매개 변수의 경우, 다음 IndexFiles 비어있는 첫 번째 인덱스 파일 인덱싱 전에.

사용 IndexWriter 디렉토리를 저장 인덱스 정보, 디렉토리는 추상적 인 개념이 반드시 파일 시스템의 디렉토리는 RAM 또는 다른 데이터베이스 수 있습니다 의미하지 않는다이다. 샘플 프로그램에서 사용 그것은 대상 파일 시스템에 저장되고, FSDirectory입니다.

분석 처리 채널, 하나 개의 단어로 분리하고 상기와 같은 소문자 변환 동의어 삽입 및 필터링 동작과 같은 단어를 처리하여 입력 된 텍스트이다. 예시적인 프로그램에서, StandardAnalyzer를 사용하면, 유니 코드 텍스트 분할 알고리즘 (에 정의 알고리즘을 사용하는 유니 코드 표준 부록 # 29 ), 그리고 경우에, 여과 정지 단어를 낮추는 전환. 루씬 / 분석 / 일반 / SRC /에 정의 된 몇 언어 루씬 분석기 제공하는 자바 / 조직 / 아파치 / 루씬 / 분석중인합니다.

IndexWriterConfig 모든 IndexWriter 구성을 캡슐화합니다.

IndexWriter 초기화 한 후, 다음 indexDocs () 메소드는 재귀 적으로 문서 객체를 구축을 위해 전화, 다음 IndexWriter 파일로 직렬화. 문서 객체는 인덱스 파일을 나타내는 간단한 데이터 객체입니다. 그렇지 않은 경우, 다음 새로 만들기를, 당신이 -update 명령 줄 매개 변수를 사용하는 경우 IndexWriter 이전 인덱스 파일, 만약 존재한다면, 업데이트를 찾아보십시오 있도록 OpenMode의 IndexWriterConifg은 식별자에 따라, OpenMode.CREATE_OR_APPEND로 설정됩니다.

검색 색인

IndexSearcher, StandardAnalyzer 및 QueryParser : SearchFile 클래스는 세 가지 구성 요소로 구성되어 있습니다. 해당 색인 단어로 사용하는 검색 단어는 올바른 결과를 보장하기 위해, 동일해야합니다. 검색어의 QueryParser 분석, 질의 객체 쿼리를 생성 한 다음 IndexSearcher 검색을 통과시켰다.

검색 검색 (쿼리, n)이 방법의 SearchFile 전화, 내림차순으로 점수에 따라 문서를 명중하고 가장 높은 이전 문서를 반환합니다.

지식 체인

Lucene- 개요

참고

루씬 7.4.0 데모 API

추천

출처blog.csdn.net/qq_34017326/article/details/94738269