Elasticsearch에서 Match와 Boolean의 차이점은 무엇입니까?

Elasticsearcheseo Matchwa Boolean Ui Chaijeom Eun Mueos Ibnikka



Elasticsearch는 Java 프로그래밍 언어의 Apache Lucene 라이브러리를 사용하는 검색 엔진으로 수백만 명이 사용하고 있습니다. 이를 통해 사용자는 분석 데이터베이스에 데이터를 저장할 수 있으며 인덱스를 생성하고 데이터를 저장할 수도 있습니다. 사용자는 또한 다른 쿼리를 적용하여 테이블/인덱스에서 데이터를 가져오고 이를 통해 유용한 정보를 얻을 수 있습니다.

이 가이드는 Elasticsearch에서 Match와 Boolean 쿼리의 차이점을 설명합니다.







Elasticsearch의 일치 항목은 무엇입니까?

Elasticsearch의 Match 쿼리는 데이터베이스에서 데이터를 가져오는 전체 텍스트 조건을 포함하므로 매우 간단합니다. 일치 쿼리는 인덱스에서 데이터를 가져와서 배열로 변환한 다음 원하는 키워드를 검색하므로 데이터 가져오기가 효율적입니다.



Elasticsearch의 부울은 무엇입니까?

Elasticsearch의 부울 쿼리는 여러 쿼리를 부울 문으로 결합하고 데이터베이스의 결과 문서를 표시합니다. 부울 쿼리에는 다음과 같은 여러 절이 있습니다.



    • ~ 해야 하다
    • 필터
    • ~해야 한다
    • must_not

Elasticsearch에서 Match와 Boolean의 차이점은 무엇입니까?

다음 섹션에서는 예제를 통해 Match와 Boolean 집계의 차이점을 설명합니다. 아래 절차를 따르십시오.

Elasticsearch 및 Kibana에 연결

Elasticsearch에서 Match 및 Boolean 쿼리를 사용하려면 Elasticsearch의 bin 디렉터리에서 터미널을 열고 다음 명령을 사용합니다.

elasticsearch.bat



그런 다음 로컬 시스템에서 Kibana의 bin 디렉터리 내부로 이동하여 터미널을 열고 다음 명령을 사용합니다.

kibana.bat



웹 브라우저에서 포트 번호 9200과 함께 localhost를 사용하여 Elasticsearch에 로그인합니다.

로컬 호스트: 9200



다시 한 번, 웹 브라우저에서 localhost를 사용하지만 포트 번호는 5601로 Kibana UI에 로그인합니다.

로컬 호스트: 5601



' 개발 도구 ” 검색 표시줄의 Kibana 페이지에서 콘솔:


일치 쿼리의 구문

다음은 데이터를 가져오기 위해 GET 요청을 사용하는 Match 쿼리의 기본 구문입니다.

얻다 / _찾다
{
'질문' : {
'성냥' : {
'메시지' : {
'질문' : '이것은 테스트입니다'
}
}
}
}


위 스니펫은 다음을 제안합니다.

    • 코드는 얻다 사용하여 요청 검색 API 에서 데이터를 가져오기 위해 데이터 베이스 그리고 사용자는 색인 이름 GET 키워드 뒤에.
    • 그만큼 질문 키워드는 성냥 를 얻는 절 메시지 인덱스 또는 데이터베이스에서 데이터 에 언급되어 있습니다. 질문 마지막에 문구.

일치 쿼리 사용

이 섹션에서는 Match 쿼리를 사용하는 실용적인 예를 설명하고 다음의 데이터를 표시합니다. 데모 인덱스 사용하여 얻다 요구:

얻다 / 데모 인덱스 / _찾다



다음 코드를 사용하여 '의 Elasticsearch에서 Match 쿼리를 수행합니다. 데모 인덱스 '에 쿼리를 적용합니다. 왓슨 ' 이름:

얻다 / 데모 인덱스 / _찾다
{
'질문' : {
'성냥' : {
'이름' : {
'질문' : '왓슨'
}
}
}
}



부울 쿼리의 구문

다음은 데이터베이스에서 데이터를 가져오기 위한 GET 요청이 있는 부울 쿼리의 기본 구문입니다.

얻다 / _찾다
{
'질문' : {
'부울' : {
'절' : {
'필드' : '용어'
}
}
}
}


위 스니펫은 다음을 제안합니다.

    • 그만큼 얻다 요청은 다음을 사용하여 인덱스에서 데이터를 가져오는 데 사용됩니다. 검색 API .
    • 그만큼 질문 키워드는 부울 포함하는 쿼리의 경우 인덱스 또는 데이터베이스에 쿼리를 적용한 다음 데이터 가져와서 화면에 표시합니다.

부울 쿼리 사용

다음 쿼리는 부울 쿼리를 사용하여 ' 데모 인덱스 ”를 사용하여 ~ 해야 하다 ' 절과 '의 두 쿼리를 결합 지정 ' 와 함께 ' 이름 ”:

얻다 / 데모 인덱스 / _찾다
{
'질문' : {
'부울' : {
'해야 하다' : [
{
'용어' : {
'지정' : '만능'
}
} ,
{
'용어' : {
'이름' : '앤더슨'
}
}
]
}
}
}


이 조합은 인덱스에 쿼리를 적용하는 부울 문을 생성합니다.


이것이 Elasticsearch에서 Match와 Boolean 쿼리의 차이점에 관한 전부입니다.

결론

Match 및 Boolean은 분석 데이터베이스 또는 사용자가 생성한 인덱스에서 데이터를 가져오기 위해 Elasticsearch에서 사용되는 두 가지 쿼리입니다. 일치 쿼리는 데이터를 배열로 변환하고 배열에서 데이터를 가져와 프로세스를 보다 효율적으로 만듭니다. Boolean 쿼리는 여러 쿼리를 적용하여 하나의 문장을 만들고 인덱스에 쿼리를 적용하여 데이터를 가져옵니다. 이 가이드는 데이터베이스에서 데이터를 가져오기 위한 Elasticsearch의 Match 및 Boolean 쿼리 간의 차이점을 설명했습니다.