Có thể hiểu index là tập hợp bản ghi, document là một bản ghi JSON, còn mapping là quy tắc để hiểu các trường trong bản ghi đó.
Bắt đầu với một sản phẩm
{"name":"Blue shoes"
Document này thuộc index products. Mapping có thể khai báo name là văn bản để tìm kiếm, price là số và created_at là ngày.
Giả sử cần tìm sản phẩm giá dưới 200. price kiểu số cho phép Elasticsearch so sánh số. Biểu diễn bằng chuỗi phục vụ cách so sánh khác và không phù hợp để thay thế truy vấn khoảng số.
Vì vậy cùng một đầu vào vẫn cần mapping dựa trên cách muốn tìm kiếm. Chỉ nhìn JSON chưa biết toàn bộ hành vi lập chỉ mục.
Dynamic mapping tự suy ra trường khi dữ liệu đến. Cách này tiện khi khám phá, nhưng một giá trị đầu vào bất thường có thể thiết lập kiểu không phù hợp. Hãy khai báo rõ trường production đã biết và kiểm soát tên trường mới tùy ý.
Thêm trường khác với đổi kiểu trường đã có. Trường hợp sau thường cần tạo index mới rồi sao chép document vào bằng reindex.
Thư viện câu hỏi phỏng vấn IT với đáp án chi tiết — từ Junior đến Senior.
Ủng hộ