유사 한단 어 또는 자동 완성 과 같 은 기능 에 사용 된다 .   / / 추천 할 필드 명 " Title " 을 입력 하 고 검색 할 값 Val 1 을 넣 어 준다 . SuggestionBuilder   termSuggestionBuilder   =   SuggestBuilders . completionSuggestion ( " Title ") . skipDuplicates ( true ) . text ( val 1 ) ;// suggestbuilder 에 이름 " suggest 1 " 을 지정 한다 . SuggestBuilder   suggestBuilder   =   new   SuggestBuilder ( ) ; suggestBuilder . addSuggestion ( " suggest 1 ",   termSuggestionBuilder ) ;   ssb . suggest ( suggestBuilder ) ;// 인덱스 를 지정 한다 . SearchRequest   searchRequest   =   new   SearchRequest ( " index _ 20100312 "); searchRequest . source ( ssb ) ;          SearchResponse   response   =   client . search ( searchRequest ,    RequestOptions . DEFAULT ) ;              JSONArray   req _ array   =   new   JSONArray ( ) ; Suggest   suggestResponse   =   response . getSuggest ( ) ;// Suggest 이름 을 입력 하 여 response 값 을 가져온다 . CompletionSuggestion   suggestion   =   ( CompletionSuggestion )   suggestResponse . getSuggestion ( " suggest 1 "); List < CompletionSuggestion . Entry >   entries   =   suggestion . getEntries ( ) ;// suggestion 은 2 중 for 문 으로 값 을 가져온다 . for   ( CompletionSuggestion . Entry   entry   :   entries ) { for   ( CompletionSuggestion . Entry . Option   option   :   entry . getOptions ( ) ) {// json 파싱 및 추천 값 을 가져온다 .            JSONObject   data   =   new   JSONObject ( ) ;            data . put ( " text ",   option . getText ( ) . toString ( ) ) ;            req _ array . add ( data ) ; }}           / / json 으로 파싱 하고 값 을 리턴 한다 . JSONObject   jsonObject   =   new   JSONObject ( ) ; jsonObject . put ( " resultMsg ",   req _ array ) ; rtnVal   =   jsonObject . toString ( ) ;