"_id" : "1"
, "_id" : "2"
인 도큐먼트들이 결과로 나타나게 됩니다. standard 뿐 아니라 대다수의 애널라이저들이 특수문자에 대해서는 불용어로 간주하고 제거 해 버리기 때문에 특수문자가 포함된 검색어들을 검색하려면 먼저 특수문자를 다른 문자로 치환해서 저장해야 합니다.+
를 _plus_
라는 단어로 치환해서 색인을 해 보도록 하겠습니다. coding 인덱스를 삭제하고 mapping
캐릭터 필터를 이용해서 인덱스의 매핑을 새로 지정 한 뒤 앞의 _bulk 명령으로 입력했던 도큐먼트들을 다시 색인 해 보도록 합니다.+
기호는 _plus_
로, -
기호는 _minus_
로 치환하는 cpp_char_filter 라는 캐릭터 필터를 생성했습니다. 그리고 cpp_char_filter 캐릭터 필터와, whitespace 토크나이저, lowercase, stop, snowball 토큰필터들로 구성된 coding_analyzer 애널라이저를 생성해서 language 필드에 적용을 시켰습니다.+
가 _plus_
로 변경된 C_plus__plus_ 로 치환되어 색인이 됩니다. 이후 토크나이저 토큰필터를 거치며 새로운 역 인덱스 다음과 같이 생성됩니다."_id" : "3"
도큐먼트만 검색이 되게 됩니다.