- vừa được xem lúc

Elasticsearch là gì? các câu truy vấn cơ bản như thế nào?

0 0 13

Người đăng: Nguyễn Quang Việt

Theo Viblo Asia

Elasticsearch là gì?

Elasticsearch là một hệ thống tìm kiếm và phân tích dữ liệu mã nguồn mở, được xây dựng trên nền tảng Apache Lucene. Nó được thiết kế để lưu trữ, tìm kiếm và phân tích lượng lớn dữ liệu một cách hiệu quả và linh hoạt, thường được sử dụng trong các ứng dụng tìm kiếm, phân tích log, và quản lý dữ liệu phân tán. Elasticsearch được phát triển và duy trì bởi Elastic.

Các câu truy vấn cơ bản trong Elasticsearch

Elasticsearch cung cấp một ngôn ngữ truy vấn mạnh mẽ gọi là Elasticsearch Query DSL để thực hiện các truy vấn. Dưới đây là một số câu truy vấn cơ bản trong Elasticsearch:

  1. Match All Query: dùng để lấy tất cả các tài liệu trong index
{ "query": { "match_all": {} }
} 
  1. Match Query: dùng để tìm kiếm các tài liệu có trường nào đó chứa một giá trị cụ thể
{ "query": { "match": { "field_name": "search_term" } }
} 
  1. Term Query: dùng để tìm kiếm các tài liệu có trường cụ thể chứa một giá trị cụ thể
{ "query": { "term": { "field_name": "exact_value" } }
} 
  1. Bool Query: dùng để kết hợp nhiều điều kiện tìm kiếm lại bằng các toán tử logic là AND, OR, NOT.
{ "query": { "bool": { "must": [{ "match": { "field1": "value1" } }], "must_not": [{ "term": { "field2": "value2" } }], "should": [{ "match": { "field3": "value3" } }] } }
} 
  1. Range Query: dùng để tìm kiếm các tài liệu trong một phạm vi giá trị cụ thể
{ "query": { "range": { "field_name": { "gte": "start_value", "lte": "end_value" } } }
}
  1. Wildcard Query: dùng để tìm kiếm các tài liệu dựa trên ký tự đại diện '*' hoặc '?'
{ "query": { "wildcard": { "field_name": "search*term" } }
} 
  1. Fuzzy Query: dùng để tìm kiếm các tài liệu với từ gần đúng
{ "query": { "fuzzy": { "field_name": { "value": "search_term", "fuzziness": 1 } } }
} 

Chú ý: Đây chỉ là một số câu truy vấn cơ bản và Elasticsearch hỗ trợ nhiều tính năng khác nhau như sorting, aggregations, và nhiều loại truy vấn phức tạp khác. Đối với mỗi trường hợp sử dụng, cần tìm hiểu thêm về các tính năng và cú pháp của Elasticsearch Query DSL.

Bài viết liên quan

Elastic Stack: Tìm hiểu về công cụ phân tích và trực quan hóa dữ liệu

Bình luận

Bài viết tương tự

- vừa được xem lúc

Elasticsearch là gì ?

. Lời nói đầu. Elasticsearch là gì .

0 0 35

- vừa được xem lúc

Backup và Restore Elasticsearch snapshot với AWS S3 trong Kubernetes

Ở công ty mình vừa có mấy task devops liên quan đến scaling, clustering Elasticsearch nên viết lại đề phòng sau này cần dùng. Có một task là chuyển dữ liệu từ single-node Elasticsearch cũ lên cluster mới.

0 0 50

- vừa được xem lúc

Reindex Elasticsearch data with zero downtime

Elasticsearch là một search engine tuyệt vời cho mọi dự án muốn áp dụng chức năng search cho sản phẩm của mình, với những tính năng như là near-realtime search, auto-complete, suggestion,.... Cùng với đó là lợi thế kiến trúc distributed search system, có thể dễ dàng scaling, failing handle. Khi muốn

0 0 40

- vừa được xem lúc

Fork you ElasticSearch! How Open Source Works

ElasticSearch recently dropped its open-source licensing strategy, prompting AWS to fork it. Learn how "Open Source" actually works and how companies profit from it.

0 0 48

- vừa được xem lúc

Tìm hiểu Text và Keyword trong Elasticsearch

Giới thiệu. Khi mình mới bắt đầu tìm hiểu về Elasticsearch mình không nghĩ rằng giữa kiểu dữ liệu Text và Keyword có sự khác nhau nhưng khi vào dự án thực tế mình mới nhận ra được sự khác biệt giữa 2

0 0 140

- vừa được xem lúc

Tìm hiểu và cài đặt Elasticsearch

Elasticsearch là gì. Elasticsearch cung cấp công cụ tìm tiếm và phân tích gần như là thời gian thực, áp dụng với mọi kiểu dữ liệu - văn bản có cấu trúc hoặc phi cấu trúc, số, thông tin địa lý.

0 0 113