2017-04-14 4 views
0

색인에서 일부 키워드에 대해 집계를 실행하려고하지만 인덱싱 및 검색 중에는 모든 키워드를 소문자로 지정하지만 탄성 5.1은 노멀 라이저를 지원하지 않습니다. 또한 텍스트로 색인화하고 필드 데이터를 사용 가능하게하고 싶지 않습니다. 이것을 달성하기위한 다른 옵션은 무엇입니까?대소 문자를 구별하지 않는 키워드에서 집계 실행 elasticsearch 5.1

+0

알다시피, 모든 경우에 필드 데이터가 그렇게 나쁘지 않습니다. 노드가 필드 데이터에서 여분의 메모리 사용을 허용한다면 왜 그렇지 않습니까? –

+0

@AndreiStefan 신축성은 그것을 사용하지 않는 것이 좋습니다. 그래서 나는 회의론자입니다. –

+1

대부분의 경우 분석 된 필드에서 집계하는 것이 적절하지 않기 때문에 사용하지 않는 것이 좋습니다. 그러나 이것은 잘못된 디자인이나 버그에서 비롯된 것이 아닙니다. 예를 들어 메모리 사용이 개선 된 것입니다. 그러나 메모리 사용량이 좋고 다른 선택 사항이 없다면 사용하십시오. –

답변

0

keyword 토크 나이저 및 lowercase 토큰 필터로 만든 분석기를 사용할 수 있습니다.

PUT my_index 
{ 
    "settings": { 
    "analysis": { 
     "analyzer": { 
     "my_keyword": { 
      "type":  "custom", 
      "tokenizer": "keyword", 
      "filter": ["lowercase"] 
     } 
     } 
    } 
    }, 
    "mappings": { 
    "my_type": { 
     "properties": { 
     "my_field": { 
      "type":  "text", 
      "analyzer": "standard", 
      "fields": { 
      "keyword": { 
       "type":  "text", 
       "analyzer": "my_keyword" 
      } 
      } 
     } 
     } 
    } 
    } 
} 
+0

키워드에 분석기를 적용 할 수 없습니까? 또한 텍스트에 집계를 실행할 수 없습니다. –

+0

다른 옵션은 ES로 보내기 전에 데이터를 소문자로 만드는 것입니다. 또는 데이터를 보내기 전에 5.3 – Val

+0

으로 소문자로 업그레이드하십시오. 나는 이것에있는 어려움을 보지 않는다. 어쨌든 색인 생성을 다시해야합니다 –