Sự khác biệt giữa Match và Boolean trong Elaticsearch là gì?

Su Khac Biet Giua Match Va Boolean Trong Elaticsearch La Gi



Elaticsearch là một công cụ tìm kiếm sử dụng các thư viện Apache Lucene từ ngôn ngữ lập trình Java và đang được hàng triệu người sử dụng. Nó cho phép người dùng lưu trữ dữ liệu trong cơ sở dữ liệu phân tích của nó và người dùng cũng có thể tạo các chỉ mục và lưu trữ dữ liệu trong đó. Người dùng cũng có thể áp dụng các truy vấn khác nhau để lấy dữ liệu từ các bảng/chỉ mục và nhận thông tin hữu ích thông qua đó.

Hướng dẫn này sẽ giải thích sự khác biệt giữa truy vấn Match và Boolean trong Elaticsearch.







Trận đấu trong Elaticsearch là gì?

Truy vấn Match trong Elaticsearch rất đơn giản vì nó chứa điều kiện toàn văn để lấy dữ liệu từ cơ sở dữ liệu. Truy vấn đối sánh lấy dữ liệu từ chỉ mục và biến nó thành một mảng, sau đó tìm kiếm các từ khóa mong muốn từ đó để tìm nạp dữ liệu hiệu quả.



Boolean trong Elaticsearch là gì?

Truy vấn Boolean trong Elaticsearch kết hợp nhiều truy vấn vào câu lệnh Boolean và hiển thị tài liệu kết quả từ cơ sở dữ liệu. Truy vấn Boolean có nhiều mệnh đề như sau:



    • phải
    • lọc
    • nên
    • không được

Sự khác biệt giữa Match và Boolean trong Elaticsearch là gì?

Phần sau đây giải thích sự khác biệt giữa Kết hợp và tập hợp Boolean với sự trợ giúp của các ví dụ. Hãy làm theo quy trình dưới đây:





Kết nối với Elaticsearch và Kibana

Để sử dụng các truy vấn Match và Boolean trong Elaticsearch, hãy mở terminal từ thư mục bin của Elaticsearch và sử dụng lệnh sau:



elaticsearch.bat



Sau đó, vào bên trong thư mục bin của Kibana từ hệ thống cục bộ để mở terminal và sử dụng lệnh sau:

kibana.bat



Sử dụng máy chủ cục bộ với số cổng 9200 trên trình duyệt web để đăng nhập vào Elaticsearch:

máy chủ cục bộ: 9200



Một lần nữa, hãy sử dụng máy chủ cục bộ trên trình duyệt web nhưng với số cổng 5601 để đăng nhập vào Giao diện người dùng Kibana:

máy chủ cục bộ: 5601



Đi vào bên trong “ Những công cụ của nhà phát triển ” bảng điều khiển từ trang Kibana từ thanh tìm kiếm:


Cú pháp của Match Query

Sau đây là cú pháp cơ bản của truy vấn Khớp với yêu cầu GET để tìm nạp dữ liệu:

LẤY / _tìm kiếm
{
'truy vấn' : {
'cuộc thi đấu' : {
'tin nhắn' : {
'truy vấn' : 'Đây là một bài kiểm tra'
}
}
}
}


Đoạn trích trên gợi ý:

    • Mã bắt đầu bằng một LẤY yêu cầu sử dụng API tìm kiếm để lấy dữ liệu từ cơ sở dữ liệu và người dùng có thể thêm một tên chỉ mục sau từ khóa GET.
    • Các truy vấn từ khóa chứa cuộc thi đấu mệnh đề nhận được tin nhắn từ chỉ mục hoặc cơ sở dữ liệu và sau đó là dữ liệu được đề cập trong truy vấn cụm từ ở cuối.

Sử dụng truy vấn đối sánh

Phần này giải thích một ví dụ thực tế về cách sử dụng truy vấn So khớp và hiển thị dữ liệu từ chỉ số demo sử dụng một LẤY lời yêu cầu:

LẤY / chỉ số demo / _tìm kiếm



Sử dụng đoạn mã sau để thực hiện Truy vấn đối sánh trong Elaticsearch trên “ chỉ số demo ” để áp dụng truy vấn trên “ watson ' tên:

LẤY / chỉ số demo / _tìm kiếm
{
'truy vấn' : {
'cuộc thi đấu' : {
'tên' : {
'truy vấn' : 'watson'
}
}
}
}



Cú pháp của truy vấn Boolean

Sau đây là cú pháp cơ bản của truy vấn Boolean với yêu cầu GET để lấy dữ liệu từ cơ sở dữ liệu:

LẤY / _tìm kiếm
{
'truy vấn' : {
'bool' : {
'mệnh đề' : {
'cánh đồng' : 'thuật ngữ'
}
}
}
}


Đoạn trích trên gợi ý:

    • Các LẤY yêu cầu được sử dụng để lấy dữ liệu từ chỉ mục bằng cách sử dụng API tìm kiếm .
    • Các truy vấn từ khóa chứa bool cho truy vấn có chứa nó mệnh đề để áp dụng truy vấn trên chỉ mục hoặc cơ sở dữ liệu và sau đó dữ liệu được tìm nạp và hiển thị trên màn hình.

Sử dụng Truy vấn Boolean

Truy vấn sau sử dụng truy vấn Boolean để lấy dữ liệu từ “ chỉ số demo ' sử dụng ' phải ” mệnh đề và kết hợp hai truy vấn của “ chỉ định ' với ' Tên ”:

LẤY / chỉ số demo / _tìm kiếm
{
'truy vấn' : {
'bool' : {
'phải' : [
{
'thuật ngữ' : {
'Chỉ định' : 'Người đa tài'
}
} ,
{
'thuật ngữ' : {
'Tên' : 'Anderson'
}
}
]
}
}
}


Sự kết hợp này sẽ tạo ra một câu lệnh Boolean để áp dụng truy vấn trên chỉ mục:


Đó là tất cả về sự khác biệt giữa các truy vấn Match và Boolean trong Elaticsearch.

Phần kết luận

Match và Boolean là hai truy vấn được sử dụng trong Elaticsearch để lấy dữ liệu từ cơ sở dữ liệu phân tích hoặc từ chỉ mục do người dùng tạo. Truy vấn so khớp chuyển đổi dữ liệu thành mảng và tìm nạp dữ liệu từ mảng để làm cho quy trình hiệu quả hơn. Truy vấn Boolean áp dụng nhiều truy vấn để tạo một câu lệnh và áp dụng truy vấn trên chỉ mục để tìm nạp dữ liệu. Hướng dẫn này đã giải thích sự khác biệt giữa truy vấn Match và Boolean trong Elaticsearch để lấy dữ liệu từ cơ sở dữ liệu.