2014-11-20 9 views
0

나는 표준 영어 분석기의 동작과 검색 중에 동의어 여야하는 단어 집합을 가진 분석기를 얻고 싶습니다.elasticsarch 동의어 필터와 영어 분석기

{ 
    "analysis": { 
    "filter": { 
     "synonym_en": { 
     "type": "synonym", 
     "synonyms": [ 
      "universe, cosmos", 
      "women, woman", 
      "man, men" 
     ] 
     }, 
     "my_filter": { 
     "type": "word_delimiter", 
     "preserve_original": "false", 
     "split_on_numerics": "false" 
     } 
    }, 
    "analyzer": { 
     "my_analyzer": { 
     "type": "custom", 
     "filter": [ 
      "my_filter" 
     ], 
     "tokenizer": "keyword" 
     }, 
     "my_english": { 
     "type": "english", 
     "stopwords": [ 
      "a", 
      "an", 
      "and", 
      "are", 
      "as", 
      "at", 
      "be", 
      "but", 
      "by", 
      "for", 
      "if", 
      "into", 
      "is", 
      "it", 
      "of", 
      "on", 
      "or", 
      "such", 
      "that", 
      "the", 
      "their", 
      "then", 
      "there", 
      "these", 
      "they", 
      "this", 
      "to", 
      "was", 
      "will", 
      "with" 
     ], 
     "filter": [ 
      "synonym_en" 
     ] 
     } 
    } 
    } 
} 

그러나 나는 그것을 견인 작업을 가져올 수 없습니다 :

내가 시도 정의입니다. 실제로 나는 예를 실행하면 내가 manmen 모두하고 싶은하면서 만, 토큰 men 반환

GET /my_index/_analyze?analyzer=my_english&text='Men' 

합니다.

도 간단 분석기

{ 
    "settings": { 
    "analysis": { 
     "filter": { 
     "my_synonym_filter": { 
      "type": "synonym", 
      "synonyms": [ 
      "british,english", 
      "queen,monarch", 
      "man,men" 
      ] 
     } 
     }, 
     "analyzer": { 
     "my_synonyms": { 
      "tokenizer": "standard", 
      "filter": [ 
      "lowercase", 
      "my_synonym_filter" 
      ] 
     } 
     } 
    } 
    } 
} 

그것이 manmen 반환로 작동하는 것 같다 있습니다.

영어 분석기에서 원하는 동작 + 형태소 분석을 수행하려면 어떻게해야합니까?

답변

2

동의어/필터은 "영어"분석기를 구성하기위한 매개 변수가 아닙니다. custom analyzer과 내장 분석기에는 차이가 있습니다. 내장 분석기는 특정 매개 변수를 구성 할 수만 있습니다. 즉 언어 분석기의 경우에는 그냥 오류가 발생하는 것입니다 여기 .Probably 더 적절한 행동을 무시하는 영어 분석기에 대한 my_english 별칭의 매개 변수의 나머지 낭포 stopwords ,stem exclusion입니다. 주어진에 대한 반면에

사용자 분석기 당신이 영어 분석기를 구현하는 사용자 정의 분석기를 만드는 데 필요한 영어 분석기와 동의어 필터를 사용하려면 추가 토큰 필터와 숯 필터 어쨌든

을 추가 할 수 있습니다 토크 나이 지정된대로 here. 동의어 필터를 여기에 추가 할 수 있습니다.