"type": "nGram"
으로 합니다. "house" 라는 단어를 2 글자의 NGram (bigram) 으로 처리하면 다음과 같이 "ho", "ou", "us", "se" 총 4개의 토큰들이 추출됩니다. ngram 토큰필터를 사용하면 이렇게 2글자씩 추출된 텀들이 모두 검색 토큰으로 저장됩니다. 이제 이 인덱스의 경우에는 검색어를 "ho" 라고만 검색을 해도 house 가 포함된 도큐먼트들이 검색이 됩니다.min_gram
(디폴트 1), max_gram
(디폴트 2) 옵션이 있습니다. 짐작할 수 있듯이 최소, 최대 문자수의 토큰을 구분하는 단위입니다. house를 "min_gram": 2
, "max_gram": 3
으로 설정하면 다음과 같이 분석되어 총 7개의 토큰을 저장합니다."min_gram": 2
, "max_gram": 3
인 my_ngram_f 토큰필터를 만들고 house 를 분석하는 예제입니다."type": "edgeNGram"
입니다. edgeNGram의 옵션을 "min_gram": 1
, "max_gram": 4
으로 설정하고 "house" 를 분석하면 다음과 같이 "h", "ho", "hou", "hous" 4개의 토큰이 생성됩니다."type": "shingle"
토큰 필터의 이용이 가능합니다. "this is my sweet home" 라는 문장을 분리해서 2 단어씩 Shingle 토큰 필터를 적용하면 다음과 같은 4개의 shingle 들이 생성됩니다." "
(스페이스) 입니다._
입니다."min_shingle_size": 3
, "max_shingle_size": 4
로 설정해서 "this is my sweet home" 문장을 분석하는 예제입니다."token" : "this is my"
, "token" : "this is my sweet"
와 같은 토큰들이 저장된 것을 확인할 수 있습니다. 이번에는 "output_unigrams": false
와 "filler_token": "-"
설정을 추가하고 stop 토큰필터로 "is"
를 불용어 처리한 뒤 실행 해 보겠습니다."is"
는 "-"
로 대치된 3, 4개 단어로 이루어진 shingle 들이 생성된 것을 확인할 수 있습니다.