Elasticsearch에서 최소_should_match 매개변수를 사용할 때 함정을 피하세요

Elasticsearch(ES)에서 Boolean Query는 여러 쿼리 절을 결합하여 검색 결과의 일치 논리를 제어할 수 있는 쿼리 유형입니다. 최소_should_match는 일치해야 하는 절의 최소 수를 지정하는 데 사용되는 부울 쿼리의 중요한 매개변수입니다.

최소_should_match 값은 특정 숫자 또는 백분율일 수 있습니다. 정확한 의미는 쿼리의 should 절 수에 따라 달라집니다.

maximum_should_match가 정수인 경우 일치해야 하는 should 절의 최소 수를 나타냅니다. 예를 들어, maximum_should_match가 2로 설정되어 있고 쿼리에 4개의 should 절이 있는 경우 쿼리 조건을 만족하려면 최소한 2개가 일치해야 합니다.

maximum_should_match가 백분율인 경우 should 절을 기준으로 전체의 상대적인 비율을 나타냅니다. 백분율 계산은 비어 있지 않고 부울 조건이 아닌 유효한 절의 수를 기반으로 합니다. 예를 들어, maximum_should_match가 "50%"로 설정되어 있고 쿼리에 6개의 should 절이 있고 그 중 3개만 비어 있지 않은 경우 최소 2개의 절(50% 중 3개)이 일치해야 합니다. 쿼리 조건을 만족합니다.

최소_should_match는 특수 구문을 사용하여 일치 조건을 보다 정확하게 제어할 수도 있습니다. 예를 들어, "3<90%"와 같이 백분율과 고정 값의 조합을 사용할 수 있습니다. 이는 최소 3개 조항 또는 전체 수의 90%(둘 중 더 큰 항목)가 일치해야 함을 의미합니다.

부울 쿼리의 일치 요구 사항을 유연하게 제어하여 쿼리 결과가 기대에 더 부합하도록 하려면 최소_should_match 매개변수를 사용합니다. 필요에 따라 절의 수, 백분율 또는 조합을 기반으로 이 매개변수를 조정하여 최상의 쿼리 결과를 얻을 수 있습니다.

1. 첫 번째 의미

최저한의

Guess you like

Origin blog.csdn.net/weixin_38225763/article/details/134881289