_analyze
API를 이용해서 확인할 수 있습니다. 토크나이저는 tokenizer
, 토큰 필터는 filter
항목의 값으로 입력하면 됩니다. 토크나이저는 하나만 적용되기 때문에 바로 입력하고, 토큰필터는 여러개를 적용할 수 있기 때문에 [ ] 안에 배열 형식으로 입력합니다. "The quick brown fox jumps over the lazy dog" 문장을 whitespace
토크나이저와 lowercase
, stop
, snowball
토큰 필터를 적용하면 다음과 같은 결과를 확인할 수 있습니다."token" : "jump"
, "token" : "lazi"
같은 결과들을 확인할 수 있습니다.stop
토큰 필터를 lowercase
보다 먼저 놓게 되면 stop
토큰필터 처리시 대문자로 시작하는 "The"는 불용어로 간주되지 않아 그냥 남아있게 됩니다. 그 후에 lowercase
가 적용되어 소문자 "the"가 최종 검색 텀으로 역 색인에 남아있게 됩니다._analyze
API에서 analyzer
항목으로 적용해서 사용이 가능합니다. 애널라이저는 캐릭터 필터, 토크나이저 그리고 토큰 필터들을 조합해서 사용자 정의 애널라이저를 만들 수도 있고, Elasticsearch 에 사전에 정의되어 있어 바로 사용 가능 한 애널라이저들도 있습니다. 앞서 실행한 whitespace
토크나이저 그리고 lowercase
, stop
, snowball
토큰필터들을 조합한 것 것이 snowball
애널라이저 입니다. 다음은 snowball
애널라이저를 적용해서 "The quick brown fox jumps over the lazy dog" 문장을 분석한 예제입니다.snowball
애널라이저를 사용한 결과는 앞의 whitespace
토크나이저 그리고 lowercase
, stop
, snowball
토큰필터를 사용한 결과와 동일하게 나타납니다.match
쿼리로 검색을 수행하면 입력한 검색어도 앞에서 적용한 snowball
애널라이저를 똑같이 거치게 됩니다. jumps 또는 jumping 등으로 검색을 수행하면 lowercase
, snowball
토큰 필터 등이 적용되어 검색어를 jump로 바꾸어 검색합니다."mappings"
|"properties"
사이에 도큐먼트 타입 값이 들어갑니다."message": "The quick brown fox jumps over the lazy dog"
값을 넣고 jumping
으로 검색을 해 보도록 하겠습니다.