여러 언어로 문서를 색인화하고 있습니다. 알고있는 한 _analyzer 매핑을 사용하여 문서 필드 중 하나에서 색인 타임에 각 문서에 사용할 분석기를 지정할 수 있습니다.다국어 탄성 검색 인덱스
는 본질적으로 http://www.elasticsearch.org/guide/reference/mapping/analyzer-field.html
, 프랑스 문서 동안은 언어 필드가 "프랑스어"는 프랑스어에 따른 규칙을 적용 프랑스 중지 단어를 제거하는 데 필요한 Elasticsearch을 나타냅니다 해당 설정이 참조하십시오.
이제 실제로 처리하기 전에 Elasticsearch가 동일한 형태소 분석 규칙을 쿼리에 적용 할 수 있도록 쿼리 시간에 분석기를 지정해야합니까? 그렇다면 전체 색인을 검색 할 수 있기를 원하기 때문에 조금은 어리 석다. 결국 다른 사람들보다 특정 언어의 문서를 선호하는 "should"절을 제공한다.
내가 모르는 것은 Elasticsearch가 지금까지 색인에서 사용 된 모든 분석기를 적용하여 여러 개의 쿼리를 작성하는지 여부입니다. 그렇지 않다면 내가 보는 유일한 해결책은 언어에 따라 문서를 여러 유형으로 분리 한 다음 여러 개의 쿼리를 동시에 실행하고 클라이언트에서 결과를 병합하고 점수에 따라 정렬하는 일종의 싱크 기능을 사용하는 것입니다. 그러나 (네트워크 라운드 트립을 제한하기 위해) 대량 쿼리를 보낼 수는 있지만 그 솔루션은 분명히 최적이 아닙니다.
의견이 있으십니까?