ES 데이터베이스에 여러 회사 데이터가 있습니다. 각 문서의 수를 가져 오려고합니다.하지만 집계 쿼리에 문제가 있습니다. 나는 "법인"또는 "회사"와 같은 용어를 제외하려고합니다. 지금까지 아래 코드에 따라 한 번에 한 번에 성공적으로이 작업을 수행 할 수있었습니다. Elasticsearch Aggregation Query (복수 제외 포함)
"aggregations": {
"assignee": {
"buckets": [
{
"key": "inc",
"doc_count": 375
},
{
"key": "company",
"doc_count": 252
}
]
}
}
가 이상적으로는
{
"aggs" : {
"companies" : {
"terms" : {
"field" : "Companies.name",
"exclude" : ["corporation", "inc.", "inc", "co", "company", "the", "industries", "incorporated", "international"],
}
}
}
}
처럼 뭔가를 할 수 있도록하고 싶습니다하지만하지 않는 방법을 찾을 수 없어 반환
{
"aggs" : {
"companies" : {
"terms" : {
"field" : "Companies.name",
"exclude" : "corporation"
}
}
}
}
오류가 발생했습니다
ES 문서에서 Aggregation의 "Terms"섹션을 살펴본 결과 ex 하나의 제외에 대한 충분한. 나는 여러 용어를 제외 할 수 있다면 궁금해. 그렇다면 올바른 구문이 무엇인지.
참고 : 필드를 "not_analyzed"로 설정하고 분할 된 이름이 아닌 전체 회사 이름으로 그룹화 할 수 있음을 알고 있습니다. 그러나, 나는 분석으로 이렇게 주저 해요 당신이 철저하게 모든 선택 사항을 나열하는 정규 표현식을 사용할 수 있도록 버킷, 이름 변화 (즉, 마이크로 소프트 사 &는 Microsoft Corporation)
,이는 ES 1.5으로 구현되었습니다. 자세한 내용은이 문제를 참조하십시오. https://github.com/elastic/elasticsearch/issues/11959 –