2012-09-12 2 views
2

기본적으로 ES는 대소 문자를 구분하지 않습니다. ES의 특정 필드에 대한 분석기 정의 방법에 대한 예가 있습니다 (예 : case insensitive search in elasticsearch).Elasticsearch 색인은 어떻게 대문자와 소문자를 구별 할 수 있습니까?

필자는 다양한 필드가로드되는 많은 데이터 유형을 가지고 있으며 이름으로 필드에 분석기를 설정하는 것은 완전히 비현실적입니다.

이전에 Solr을 사용하여 모든 데이터에 대해 dynamicFields를 사용하고 schema.xml을 편집하여 "text"필드 유형을 수정하여 분석기에서 LowerCaseFilterFactory를 제거함으로써 전역 적으로 대소 문자를 구분하는 검색을 수행했습니다.

어떻게 ES에서 비슷한 작업을 수행 할 수 있습니까?

답변

0

Analysis index module에 대한 elasticsearch 문서를보십시오.

기본 논리 이름이 하나가 인덱싱 및 API를 검색에 모두 사용할 수 것 분석기를 구성 할 수 있습니다라는 기본 분석기 섹션이있다. default_index 논리적 이름을 사용하여 인덱싱 할 때 이라는 기본 분석기를 구성하고 default_search를 사용하여 검색 할 때만 사용되는 기본 분석기를 구성 할 수 있습니다.

나는 그것이 당신이 찾고있는 것 같아요. 아마도 elasticsearch의 기본 분석기가 StandardAnalyzer이라는 것을 아는 것이 좋습니다.