ElasticSearch Analyzer 의 사용 규칙 에 대한 상세 한 설명

7222 단어 ElasticSearchAnalyzer
analyzer 의 사용 규칙
검색 은 역 배열 색인 표 에 실제 존재 하 는 항목 만 찾 을 수 있 기 때문에 문 서 를 색인 할 때 검색 문자열 과 같은 분석 과정 을 사용 하 는 것 이 매우 중요 합 니 다.그래 야 검색 항목 이 역 배열 색인 에 있 는 항목 과 일치 할 수 있 습 니 다.
문 서 를 말 하 는 것 임 에 도 불구 하고 분석 기 는 필드 마다 결정 할 수 있다.필드 마다 분석 기 가 다 를 수 있 습 니 다.필드 로 설정 하여 분석 기 를 지정 할 수도 있 고 더 높 은 유형(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"
}
  • 필드 title,기본 standard 표준 분석 기 를 사용 하여 단어 항목 foxes 를 되 돌려 줍 니 다.
  • 필드 englishtitle,english 영어 분석 기 를 사용 하여 단어 항목 fox 를 되 돌려 줍 니 다.
  • 이 는 바 텀 term 를 사용 하여 정확 한 fox 를 조회 할 때 englishtitle 필드 는 일치 하지만 title 필드 는 일치 하지 않 습 니 다.
    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 는 사용 할 수 있 는 분석 기 를 찾 을 때 까지 다음 순서대로 처리 합 니 다.색인 시의 순 서 는 다음 과 같 습 니 다.
  • 필드 맵 에서 정 의 된 analyzer,그렇지 않 으 면
  • 색인 설정 에서 default 라 는 분석 기 는 기본적으로
  • 입 니 다.
  • 표준 분석 기
  • 검색 할 때 순서 가 약간 다 릅 니 다.
  • 자신 이 정의 한 analyzer 를 조회 하지 않 으 면
  • 필드 맵 에서 정 의 된 analyzer,그렇지 않 으 면
  • 색인 설정 에서 default 라 는 분석 기 는 기본적으로
  • 입 니 다.
  • 표준 분석 기
  • 색인 할 때 와 검색 할 때 서로 다른 분석 기 를 사용 하 는 것 이 합 리 적 인 경우 도 있다.우 리 는 동의어 에 색인 을 만 들 려 고 할 수도 있 습 니 다.그러나 검색 할 때 우 리 는 모든 동의 어 를 검색 할 필요 가 없다.대신 사용자 가 입력 한 단어 가 quick,fast,rapid 또는 speedy 인지 찾 는 것 이다.
    구분 하기 위해 Elasticsearch 도 선택 가능 한 search 를 지원 합 니 다.analyzer 맵 은 검색 할 때 만 적 용 됩 니 다(analyzer 는 색인 에 도 사 용 됩 니 다).그리고 등가 의 defaultsearch 맵,색인 층 의 기본 설정 을 지정 합 니 다.
    이러한 추가 인 자 를 고려 하면 검색 할 때의 전체 순 서 는 다음 과 같 습 니 다.
  • 자신 이 정의 한 analyzer 를 조회 하지 않 으 면
  • 필드 맵 에서 정의 하 는 searchanalyzer,그렇지 않 으 면
  • 필드 맵 에서 정 의 된 analyzer,그렇지 않 으 면
  • 색인 설정 중 defaultsearch 분석 기,기본 값
  • 색인 설정 에서 default 라 는 분석 기 는 기본적으로
  • 입 니 다.
  • 표준 분석 기
  • Elasticsearch 단어(분석 기)
    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
    在这里插入图片描述
    이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

    좋은 웹페이지 즐겨찾기