엔지니어 블로그

[Elasticsearch] minimum should match 본문

ELK/elasticsearch

[Elasticsearch] minimum should match

안기용 2022. 7. 20. 08:38

elasticsearch에서 query로 search를 실행할 때 minimum should match가 적용되는 것이 이해가 되질 않아서 공식문서를 보고 정리해 본 내용이다.

Integer 3 integer 로 지정하면 해당 숫자 만큼의 검색어가 일치해는 document만 반환한다.
Negative integer -2 총 검색어의 수에서 지정한 수 만큼 뺀 갯수를 최소 필수 갯수로 지정합니다.
Percentage 75% 총 검색어에서 지정한 %의 갯수 이상 만큼 일치하는 결과를 반환
Negative percentage -25% 총 검색어에서 지정한 %의 갯수 이상 만큼 일치하는 결과를 반환
Combination 3<90% 검색어의 term 수가 정수 값보다 작거나 같다면 모든 term이 필수가 된다. 만약에 정수 값보다 term 수가 많다면, %값 만큼의 term 수만 필수가 된다.
Multiple combinations 2<-25% 9<-3 1개 혹은 2개의 clauses 는 모두 필요하다. 만일 3~9개의 clause가 있으면 25%를 제외한 모든 조항이 필요하다. 그리고 9개 이상의 clauses가 있다면 3개를 제외한 모든 조항이 필요하다.

다만, 퍼센티지를 다룰 때 극단적인 경우 조금 다른 결과를 반환할 수 있다.

기본적으로 75%와 -25%는 4개의 검색어 term을 다룰 때는 같은 의미다.(4 * 0.75 = 3 이기 때문)

하지만 5개의 검색어 term을 다룰 때는 조금 다르게 작동한다.
75%는 3개가 필요한 것으로, -25%는 4개가 필요한 것으로 작동한다.

5\*0.75 = 3.75
5\*0.25 = 1.15
반올림 해서 4개/ 1개

'ELK > elasticsearch' 카테고리의 다른 글

[Elasticsearch] Elasticsearch nori-plugin 실험  (0) 2023.03.27
[Elasticsearhc] Enrich  (0) 2022.07.20
[Elasticsearch] reindex  (0) 2022.07.20
[Elasticsearch] 동의어 사전  (0) 2022.05.19
[Elasticsearch]CRUD  (0) 2022.03.02