Compass---Search Engine (1)
Alias, Resource, Property Resource 는 property 를 대표 합 니 다.웹 페이지, 이메일 정보, 또는 Author 대상 의 직렬 화 와 같은 가상 문서 라 고 생각 할 수 있 습 니 다.하나의 리 소스 는 항상 하나의 Alias 와 연결 되 어 있 으 며, 여러 개의 리 소스 는 같은 Alias 를 사용 할 수 있 습 니 다.Alias 는 리 소스 와 맵 정의 (OSEM / XSEM / RSEM) 간 의 연결 역할 을 합 니 다.하나의 Property 는 이름과 값 (키 쌍) 만 차지 합 니 다.리 소스 의 한 Property 는 일부 종류의 메타 데 이 터 를 대표 하 는데 리 소스 와 관련 된 것 은 작가 의 이름 과 같다. 모든 리 소스 는 하나 이상 의 id 속성 과 연결 되 어 있 습 니 다.그것들 은 Compass 관리 에 id 와 리 소스 를 기반 으로 업 데 이 트 된 리 소스 를 불 러 오 는 것 이 필수 적 입 니 다.id 속성 또는 RSEM 에 명확 하 게 정의 되 거나 OSEM / XSEM 정의 에 포함 되 어 있 습 니 다.
Lucene 사용자 에 게 Compass 의 Resource 는 lucene Document, compass 의 Property 는 lucene 의 Field 에 대응 합 니 다.
1. resource / property 를 사용 하여 RSEM 에서 일 하지만 resources 는 최초의 데이터 모델 이 됩 니 다.검색 가능 한 콘 텐 츠 를 구축 하고 조작 하 는 데 도 사용 된다.검색 을 실행 하면 resources 는 검색 결 과 를 표시 하 는 데 사 용 됩 니 다.또 다른 resource 가 사용 할 수 있 는 중요 한 위 치 는 OSEM / XSEM 과 자주 무시 된다.응용 도 메 인 모델 이나 xml 데이터 구 조 를 사용 하여 검색 내용 을 조작 할 때 resources 는 거의 사용 되 지 않 습 니 다.검색 작업 을 수행 할 때 사용 할 수 있 습 니 다.맵 정 의 를 바탕 으로 resources 와 Property 를 통 해 비 맞 춤 형 방식 으로 의미 모델 에 들 어 갈 수 있 습 니 다.우 리 는 하나의 예 를 사용 하여 이 문장 들 을 단순화 합 시다.만약 에 우리 의 응용 에 두 개의 대상 유형, 처방 과 성분 이 있다 면 우 리 는 처방 제목 과 성분 제목 을 같은 의미 의 메타 데이터 이름, 제목 (title, Resource Property 이름) 에 동시에 표시 할 수 있 습 니 다.검색 결 과 를 표시 할 때 리 소스 단계 에서 만 속성 제목 (title) 의 값 을 자원 목록 에서 되 돌려 줍 니 다. 이 분석 기
분석 기 는 입력 텍스트 전처리 구성 요소 입 니 다.검색 에 도 사 용 됩 니 다.그러나 색인 과 검색 을 할 때 같은 분석 기 를 사용 하 는 것 이 중요 하 다.
Analyzer 는 lucene 류 (org. apache. lucene. analysis. Analyzer 류 한정) 입 니 다.Lucene 핵심 에는 많은 분석 기 가 수반 되 고 Compass 와 그들 중 어떤 조합 도 설정 할 수 있 습 니 다.만약 에 우리 가 다음 문장 을 예 로 들 면 'The quick brown fox jumped over the lazy dogs' 는 서로 다른 분석 기 가 어떻게 처리 하 는 지 살 펴 보 자. whitespace (org. apache. lucene. analysis. Whitespace Analyzer): [The] [quick] [brown] [fox] [jumped] [over] [the] [lazy] [dogs] simple (org. apache. lucene. analysis. Simple Analyzer): [the] [quick] [brown] [fox] [jumped][over] [the] [lazy] [dogs] stop (org. apache. lucene. analysis. StopAnalyzer): [quick] [brown] [fox] [jumped] [over] [lazy] [dogs] standard (org. apache. lucene. analysis. standard. StandardAnalyzer): [quick] [brown] [fox] [jumped] [over] [lazy] [dogs] Lucene 도 하나의 확장 라 이브 러 리 와 함께 많은 분석 기 실현 (언어 지정 분석 기 포함) 을 지원 합 니 다.... Compass 도 그들의 모든 배치 와 합작 할 수 있다.
1. 분석 기 설정
하나의 Compass 인 스 턴 스 는 분석 기의 등록 처 를 담당 하고 있 습 니 다. 분석 기 마다 검색 이름 이 연결 되 어 있 기 때 문 입 니 다. Compass 의 두 내부 분석 기 이름 은 default 와 search 입 니 다. 다른 분석 기 를 설정 하지 않 았 을 때 default 은 기본 분석 기 에 사 용 됩 니 다.. 다른 분석 기 를 설정 하지 않 았 을 때 search 분석 기 는 검색 검색 문자열 에 사 용 됩 니 다. (검색 을 통 해 빌 더 인 터 페 이 스 를 만 드 는 검색 문자열 을 실행 할 때 다른 분석 기 를 설정 할 때 완 료 됩 니 다. 기본 값 으로 아무것도 설정 하지 않 았 을 때 Compass 는 Lucene 표준 분석 기 를 기본 분석 기로 사용 합 니 다.
다음은 두 개의 분석 기 를 설정 하 는 예 입 니 다. 하 나 는 default 분석 기 를 대체 하고 다른 하 나 는 my Analyzer 를 통 해 등록 합 니 다 (나중에 서로 다른 맵 정의 에 인 용 될 수 있 습 니 다).
<compass name="default">
<connection>
<file path="target/test-index" />
</connection>
<searchEngine>
<analyzer name="deault" type="Snowball" snowballType="Lovins">
<stopWords>
<stopWord value="no" />
</stopWords>
</analyzer>
<analyzer name="myAnalyzer" type="Standard" />
</searchEngine>
</compass>
Compass 도 Lucene 분석 기의 사용자 정의 구현 을 지원 합 니 다 (주: 분석 기 filter 가 같은 목 표를 달성 할 수 있 습 니 다. 나중에 소개 합 니 다). 클래스 도 CompassConfigurable 을 실현 하면 다른 설정 (매개 변수) 은 설정 파일 을 통 해 주입 할 수 있 습 니 다. threshold 라 는 매개 변수 사용자 정의 분석 기 구현 클래스 를 받 아들 일 수 있 는 설정 예 가 있 습 니 다.
<compass name="default">
<connection>
<file path="target/test-index" />
</connection>
<searchEngine>
<analyzer name="deault" type="CustomAnalyzer" analyzerClass="eg.MyAnalyzer">
<setting name="threshold">5</setting>
</analyzer>
</searchEngine>
</compass>
2 분석 기 필터 (분석 기 필터)
필 터 는 스 트림 을 분석 하 는 다른 필터 에 간단 한 지원 을 제공 합 니 다. 분석 기 를 만 드 는 것 과 충돌 하지 않 습 니 다. 마찬가지 로 필 터 는 서로 다른 분석 기 사이 에서 공유 할 수 있 으 며, 잠재 적 으로 서로 다른 분석 기 유형 을 포함 하고 있 습 니 다. 사용자 정의 필 터 는 Compass 가 필요 한 LuceneAnalyzer TokenFilterProvider 클래스 를 구현 합 니 다. Lucene TokenFilter 를 만 드 는 방법 은 하나 뿐 입 니 다. 필터 도 하나의 이름 으로 등록 한 다음 분석 기 설정 에서 가리 킬 수 있 습 니 다. 아래 의 예 는 두 개의 분석 기 필 터 를 배치 하여 default 분석 기 에 적용 합 니 다.
<compass name="default">
<connection>
<file path="target/test-index" />
</connection>
<searchEngine>
<analyzer name="deafult" type="Standard" filters="test1, test2" />
<analyzerFilter name="test1" type="eg.AnalyzerTokenFilterProvider1">
<setting name="param1" value="value1" />
</analyzerFilter>
<analyzerFilter name="test2" type="eg.AnalyzerTokenFilterProvider2">
<setting name="paramX" value="valueY" />
</analyzerFilter>
</searchEngine>
</compass>
3. 동의어 처 리 는 동의어 가 검색 프로그램의 공 통 된 요구 이기 때문에 Compass 는 간단 한 동의어 분석 기 필 터 를 가지 고 있 습 니 다. Synonym Analyzer TokenFilterProvider. 동의어 의 실현 요 구 는 Synonym LookupProvider 가 실행 하 는 매개 변수 로 서 주어진 값 의 모든 동의어 로 되 돌아 갈 수 있 습 니 다. 실현 은 제공 되 지 않 았 으 나 공 개 된 동의어 로 포 지 셔 닝 할 수 있 습 니 다.데이터베이스 나 파일 입력 구조의 간단 한 구현 입 니 다. 다음은 어떻게 설정 하 는 예 입 니까?
<compass name="default">
<connection>
<file path="target/test-index" />
</connection>
<searchEngine>
<analyzer name="deafult" type="Standard" filters="synonymFilter" />
<analyzerFilter name="synonymFilter" type="synonym">
<setting name="lookup" value="eg.MySynonymLookupProvider" />
</analyzerFilter>
</searchEngine>
</compass>
메모: 실제로 type 에 전체 한정 클래스 이름 을 설정 하지 않 았 습 니 다. 이것 은 Compass 가 제공 하 는 간단 한 구현 입 니 다.
세 가지 유사 한 점 Similarity Compass 는 Lucene 의 Similarity 클래스 를 색인 과 검색 으로 설정 할 수 있 습 니 다. 이것 은 고급 설정 단계 입 니 다. 기본적으로 Lucene 의 Default Similarity 는 검색 과 색인 에 사 용 됩 니 다.
Similarity 를 전면적으로 바 꾸 기 위해 Similarity 의 유형 은 compass. engine. similarity. default. type 을 사용 하여 설정 할 수 있 습 니 다. type 의 값 은 Similarity 구현 클래스 의 진정한 클래스 일 수도 있 고, Similarity Factory 구현 클래스 의 클래스 일 수도 있 습 니 다. CompassSettings 로 주입 하기 위해 서 는 CompassConfigurable 인 터 페 이 스 를 선택적으로 구현 할 수 있 습 니 다. 특히 색인 Similarity 는 compass. engine. similarity. index. type 설정 을 사용 할 수 있 습 니 다. Similarity 를 검색 하면 compass. engine. similarity. search. type 을 사용 하여 설정 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 파일 압축 및 압축 풀기파일 의 간단 한 압축 과 압축 해 제 를 실현 하 였 다.주요 테스트 용 에는 급 하 게 쓸 수 있 는 부분 이 있 으 니 불편 한 점 이 있 으 면 아낌없이 가르쳐 주 십시오. 1. 중국어 문 제 를 해 결 했 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.