퍼지 쿼리와 일치 쿼리의 차이점은 무엇입니까?

Peoji Kwoliwa Ilchi Kwoliui Chaijeom Eun Mueos Ibnikka



Elasticsearch는 다양한 유형의 데이터를 관리하는 데 사용되는 잘 알려진 무료 오픈 소스 분석 분산 검색 엔진 및 데이터베이스입니다. 이는 순전히 NoSQL 데이터베이스이며 일반적인 SQL 및 관계형 데이터베이스와 다르게 작동합니다. Elasticsearch는 쿼리 DSL((도메인 특정 언어) 및 REST API를 사용하여 데이터를 관리하고 분석합니다. Elasticsearch에는 퍼지 쿼리, 일치 쿼리, 와일드카드 쿼리, 접두사 쿼리 등과 같은 다양한 유형의 쿼리가 존재합니다. 이러한 쿼리는 다르게 작동합니다. 서로에게서.

이 게시물에서는 다음에 대해 설명합니다.

'퍼지' 쿼리란 무엇입니까?

흐린 ” 쿼리는 “를 기반으로 문자 변경, 문자 삽입, 문자 제거 등 기타 검색 작업을 수행하는 Query DSL입니다. Levenshtein 편집 거리 ' 거리. 일반적으로 용어 간의 차이점을 찾아 검색된 용어에 더 가깝거나 거의 유사한 문서로 결과를 반환합니다.







'일치' 쿼리란 무엇입니까?

성냥 ” 쿼리는 문자열, 숫자, 텍스트 등 주어진 데이터를 일치시키거나 검색하는 데 사용되는 또 다른 유형의 쿼리 DSL입니다. 이것은 ' 전문 ” 기반 쿼리를 실행하고 전체 텍스트 검색을 수행하고 검색된 용어와 정확히 일치하는 결과를 반환합니다. 용어가 검색어와 일치하지 않으면 null 문자열 또는 false가 반환됩니다.



'퍼지' 쿼리와 '일치' 쿼리의 차이점

둘 다 ' 흐린 ' 그리고 ' 성냥 ” 쿼리는 검색 목적으로 사용됩니다. 이 두 쿼리의 주요 차이점은 '퍼지' 쿼리는 퍼지 검색을 수행하고 검색된 용어와 유사하거나 가까운 결과를 반환한다는 것입니다. 반면, '일치' 쿼리는 검색된 용어와 정확히 일치하는 결과를 반환합니다.



더 나은 이해를 위해 아래 제공된 예를 따르십시오.





예 1: 'fuzzy' 쿼리를 사용한 퍼지 검색

사용자가 ' 지정 ” 가치는 “ 작가 '. 더 가까운 일치 항목을 검색해 보겠습니다. 그렇게 하려면 “ 흐린 '라는 단어가 포함된 문서를 검색하는 쿼리입니다. 지정 ” 값이 “와 같거나 더 가깝습니다. 작가 ':

리눅스힌트 받기 / _찾다

{

'질문' : {

'흐린' : {

'지정' : '작가'

}

}

}

아래 출력은 ID가 '인 문서를 보여줍니다. 1 ”에는 “이 있습니다 지정 ” 값은 “에 가깝습니다. 작가 ” 검색어:



그러나 위의 예를 “ 성냥 ” 쿼리를 보내면 “ 널 문자열 ” 정확히 일치하는 용어를 반환합니다.

예 2: '일치' 쿼리를 사용한 퍼지 검색

같은 예를 들어 ' 성냥 ” 쿼리를 사용하여 “ 지정 ” 가치는 “ 작가 ':

리눅스힌트 받기 / _찾다

{

'질문' : {

'성냥' : {

'지정' : '작가'

}

}

}

아래 출력은 ' 성냥 ” 쿼리는 더 가까운 결과를 찾지 못하고 “ 없는 ' 끈:

검색된 값을 '에서 수정해 보겠습니다. 작가 ' 에게 ' 작가 '를 실행하고 ' 성냥 ” 쿼리는 아래와 같이 표시됩니다.

리눅스힌트 받기 / _찾다

{

'질문' : {

'성냥' : {

'지정' : '작가'

}

}

}

여기에서 “ 성냥 ” 쿼리는 id가 “인 문서를 반환합니다. 1 '. 문서 1이 검색어와 정확히 일치하기 때문에:

이것이 바로 ' 흐린 ' 쿼리 및 ' 성냥 '라는 질문을 합니다.

결론

흐린 ” 쿼리는 퍼지 검색을 수행하는 데 사용되며 검색어와 거의 일치하는 결과를 반환합니다. 그러나, 그 ' 성냥 ” 쿼리는 퍼지 검색을 지원하지 않으며 검색된 용어와 정확히 일치하는 결과를 반환합니다. 이 블로그에서는 퍼지 쿼리와 일치 쿼리의 차이점을 설명했습니다.