2013-02-10 2 views
1

나는 사전을 만들고 있으며 검색 엔진으로 elasticsearch를 사용하려고합니다. 그것은 여러 언어를 지원한다, 그래서 내 데이터베이스 이것에 비슷합니다 (형태소 분석기 등 같은)동일한 색인에 다른 형태자 사용

| left_lang | right_lang | left_word | right_word | 
| de  | en   | Schuh  | shoe  | 
| da  | de   | sko  | Schuh  | 

하는 수준에서 정의 할 수있는 다양한 분석기 설정? 문서의 필드마다 다른 설정을 지정할 수 있습니까? 예 : 첫 번째 문서에서는 left_word에 독일어 설정을 사용하고 right_words에는 영어를 사용하고 두 번째에는 left_words에는 덴마크어를, right_words에는 독일어를 사용합니까? 또는 유형 또는 색인 수준에서이를 정의 할 수 있습니까?

답변

2

그래, 필드 당 설정을 정의 할 수 있습니다. "Multi-field"매핑을 사용하여 여러 언어 설정으로 분석되는 입력란을 정의 할 수도 있습니다.

{ 
    "settings":{ 
    "index":{ 
     "analysis":{ 
      "analyzer":{ 
       "analyzer_english":{ 
       "tokenizer":[...], 
       "filter":[...] 
       }, 
       "analyzer_german":{ 
       "tokenizer":[...], 
       "filter":[...] 
       } 
      } 
     } 
    } 
    }, 
    "mappings":{ 
    "test":{ 
     "properties":{ 
      "left_word":{ 
       "analyzer":"analyzer_german", 
       "type":"string" 
      }, 
      "right_word":{ 
       "analyzer":"analyzer_english", 
       "type":"string" 
      }, 
      "combo_word":{ 
       "type":"multi_field", 
       "fields":{ 
       "combo_word":{ 
        "analyzer":"analyzer_german", 
        "type":"string" 
       }, 
       "combo_english":{ 
        "analyzer":"analyzer_english", 
        "type":"string" 
       } 
       } 
      } 
     } 
    } 
    } 
} 
관련 문제