[230421] 실습 내용 정리

뜨개발자·2023년 4월 24일
0

TIL

목록 보기
63/75
# Request
GET _analyze
{
	# "analyzer": "english", <- 분석기 명시 가능. 생략하면 default
	"text": "Tuning Go Apps in a Beat 123"
}
# Response
{
	"tokens":
    [
        {
            "token": "tuning",
            "start_offset": 0,
            "end_offset": 6,
            "type": "<ALPHANUM>",
            "position": 0
        },
        {...},
        ...
        {
            "token": "123", # NUM 타입인데 왜 문자열처럼 ""으로 감싸져 나올까
            "start_offset": 25,
            "end_offset": 28,
            "type": "<NUM>",
            "position": 6
        }
    ]
}

# analyzer 설정
PUT blogs_test
{
  "settings": {
    "analysis": { # 분석 관련된 내용을 정의하는 곳
      "char_filter": { # 문자에 대한 필터를 작성하겠다고 선언
        "my_filter": {
          "type": "mapping",
          "mappings": ["X-Pack => XPack"]
        }
      },
      "analyzer": { # 사용할 분석기에 대한 설정
        "my_content_analyzer": {
        # 이 안에 순서를 바꿔봤는데, 결과가 달라지진 않았음
        # 내부 순서가 적용되는 순서에 영향을 미치지는 않는 듯
          "type": "custom", # 존재하는 규칙 사용하지 않겠다고 명시
          "char_filter": ["my_filter"], # 문자열 필터에 위에서 정의한 필터 가져옴
          "tokenizer": "standard", # 기본 방법으로 토큰 구별
          "filter": ["lowercase"] # 이후 모두 소문자로 변경
        }
      }
    }
  }
}
# Request
POST blogs_test/_analyze #blogs_test
{
  "text": "We love X-Pack",
  "analyzer": "my_content_analyzer"
}
# Response
{
  "tokens": [
    {
      "token": "we",
      "start_offset": 0,
      "end_offset": 2,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "love",
      "start_offset": 3,
      "end_offset": 7,
      "type": "<ALPHANUM>",
      "position": 1
    },
    {
      "token": "xpack",
      "start_offset": 8,
      "end_offset": 14,
      "type": "<ALPHANUM>",
      "position": 2
    }
  ]
}
profile
뜨개질하는 개발자

0개의 댓글