ElasticSearch Analyzer 의 사용 규칙 에 대한 상세 한 설명
7222 단어 ElasticSearchAnalyzer
검색 은 역 배열 색인 표 에 실제 존재 하 는 항목 만 찾 을 수 있 기 때문에 문 서 를 색인 할 때 검색 문자열 과 같은 분석 과정 을 사용 하 는 것 이 매우 중요 합 니 다.그래 야 검색 항목 이 역 배열 색인 에 있 는 항목 과 일치 할 수 있 습 니 다.
문 서 를 말 하 는 것 임 에 도 불구 하고 분석 기 는 필드 마다 결정 할 수 있다.필드 마다 분석 기 가 다 를 수 있 습 니 다.필드 로 설정 하여 분석 기 를 지정 할 수도 있 고 더 높 은 유형(type),색인(index)또는 노드(node)의 기본 설정 을 사용 할 수도 있 습 니 다.색인 에서 필드 값 은 설정 이나 기본 분석 기 에 따라 분 석 됩 니 다.
예 를 들 어 myindex 필드 추가:
PUT /my_index/_mapping/my_type
{
"my_type": {
"properties": {
"english_title": {
"type": "string",
"analyzer": "english"
}
}
}
}
이제 우 리 는 analysis API 를 사용 하여 단어 Foxes 를 분석 하여 english 를 비교 할 수 있다.title 필드 와 title 필드 의 색인 분석 결과:
GET /my_index/_analyze
{
"field": "my_type.title",
"text": "Foxes"
}
GET /my_index/_analyze
{
"field": "my_type.english_title",
"text": "Foxes"
}
match 조회 와 같은 고 층 조 회 는 필드 맵 의 관 계 를 알 고 있 으 며,조 회 된 필드 마다 정확 한 분석 기 를 사용 할 수 있 습 니 다.이 동작 을 validate-query API 로 볼 수 있 습 니 다.
GET /my_index/my_type/_validate/query?explain
{
"query": {
"bool": {
"should": [
{ "match": { "title": "Foxes"}},
{ "match": { "english_title": "Foxes"}}
]
}
}
}
문장의 explanation 결 과 를 되 돌려 줍 니 다:(title:foxes english_title:fox)
match 조 회 는 각 필드 에 적합 한 분석 기 를 사용 하여 모든 항목 을 찾 을 때 이 필드 에 정확 한 형식 을 사용 하도록 합 니 다.
기본 분석 기
비록 우 리 는 필드 등급 에 분석 기 를 지정 할 수 있 지만,만약 이 등급 에 어떠한 분석 기 도 지정 하지 않 았 다 면,우 리 는 어떻게 이 필드 가 사용 하 는 것 이 어떤 분석 기 인지 확정 할 수 있 습 니까?
분석 기 는 세 가지 측면 에서 정의 할 수 있 습 니 다.필드(per-field),색인(per-index)또는 전역 부족(global default)에 따라 정의 할 수 있 습 니 다.Elasticsearch 는 사용 할 수 있 는 분석 기 를 찾 을 때 까지 다음 순서대로 처리 합 니 다.색인 시의 순 서 는 다음 과 같 습 니 다.
구분 하기 위해 Elasticsearch 도 선택 가능 한 search 를 지원 합 니 다.analyzer 맵 은 검색 할 때 만 적 용 됩 니 다(analyzer 는 색인 에 도 사 용 됩 니 다).그리고 등가 의 defaultsearch 맵,색인 층 의 기본 설정 을 지정 합 니 다.
이러한 추가 인 자 를 고려 하면 검색 할 때의 전체 순 서 는 다음 과 같 습 니 다.
1.Analysis 가 무엇 입 니까?
Analysis 는 단어 라 고 하 는데 텍스트 를 일련의 단어(term/token)로 바 꾸 는 과정 이다.
Analysis 는 Analyzer 를 통 해 이 루어 집 니 다.
Elasticserach 에 내 장 된 분석 기 를 사용 하거나 수요 에 따라 최적화 하거나 분석 기 플러그 인 을 설치 할 수 있 습 니 다.
데 이 터 를 쓸 때 퀘 리 구문 으로 단 어 를 바 꿀 때 도 같은 분석 기 를 사용 해 야 합 니 다.
2.Analyzer 의 구성 과 작업 체제
Character Filter 는 html 를 제거 하 는 등 원본 텍스트 를 처리 합 니 다.
Tokenizer 는 규칙 에 따라 단어 로 나 뉜 다.Tokenizer Filter 는 절 분 된 단 어 를 가공,소문 자,stopwords 를 삭제 하고 동의어 가 추 가 됩 니 다.
3.Elasticserach 에 내 장 된 단어 기
1) _analyzer API 세 가지 사용 방법
2) Standard Analyzer
의 원리
예시
3)Simple Analyzer
의 원리
예시
4)Whitespace Analyzer
의 원리
예시
5)Stop Analyzer
의 원리
예시
6)Keyword Analyzer
의 원리
예시
7)Pattern Analyzer
의 원리
예시
8)Language Analyzer
언어 별 단어 지원
예시
중국어 단어
중국어 단어의 난점:
중국어 문장 을 한 단어 로 자르다.영어 에서 단 어 는 자 연 스 러 운 빈 칸 으로 구분 된다.한 마디 의 중국 어 는 서로 다른 문맥 에서 서로 다른 이 해 를 가진다.
1)ICU Analyzer
의 원리
프레젠테이션(ICU Analyze 플러그 인 을 미리 설치 해 야 함)
2)IK
3) THULAC
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ElasticSearch Analyzer 의 사용 규칙 에 대한 상세 한 설명문 서 를 말 하 는 것 임 에 도 불구 하고 분석 기 는 필드 마다 결정 할 수 있다.필드 마다 분석 기 가 다 를 수 있 습 니 다.필드 로 설정 하여 분석 기 를 지정 할 수도 있 고 더 높 은 유형(type)...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.